Changeset 57880 in webkit


Ignore:
Timestamp:
Apr 20, 2010 2:45:09 AM (14 years ago)
Author:
krit@webkit.org
Message:

2010-04-20 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

SVGResourceFilter needs to be moved to under Renderers
https://bugs.webkit.org/show_bug.cgi?id=35320

This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
from the SVGResources.
A clean-up solves the dependencies between SVGFilterElement, the filter primitives
and SVGResources. This shall make the filter code more readable and better maintable.
The Filter primitives get dumped now, as long as they have externalRepresentation
implemented.

No behavior changes, so no new tests were added.

  • Android.mk:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::selfWillPaint): (WebCore::RenderSVGContainer::paint):
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint):
  • rendering/RenderSVGResource.h: (WebCore::):
  • rendering/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::applyResource):
  • rendering/RenderSVGResourceClipper.h:
  • rendering/RenderSVGResourceFilter.cpp: Added. (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): (WebCore::RenderSVGResourceFilter::invalidateClients): (WebCore::RenderSVGResourceFilter::invalidateClient): (WebCore::RenderSVGResourceFilter::buildPrimitives): (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): (WebCore::RenderSVGResourceFilter::applyResource): (WebCore::RenderSVGResourceFilter::postApplyResource): (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
  • rendering/RenderSVGResourceFilter.h: Added. (WebCore::FilterData::FilterData): (WebCore::RenderSVGResourceFilter::renderName): (WebCore::RenderSVGResourceFilter::filterUnits): (WebCore::RenderSVGResourceFilter::primitiveUnits): (WebCore::RenderSVGResourceFilter::resourceType):
  • rendering/RenderSVGResourceMarker.h: (WebCore::RenderSVGResourceMarker::applyResource):
  • rendering/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::applyResource):
  • rendering/RenderSVGResourceMasker.h:
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::selfWillPaint): (WebCore::RenderSVGRoot::paint):
  • rendering/RenderSVGText.cpp:
  • rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderBase::prepareToRenderSVGContent): (WebCore::SVGRenderBase::finishRenderSVGContent): (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): (WebCore::deregisterFromResources):
  • rendering/SVGRenderSupport.h:
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeStyle): (WebCore::writeSVGResource): (WebCore::writeResources): (WebCore::writeRenderResources):
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): (WebCore::SVGRootInlineBox::paint):
  • svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::build):
  • svg/SVGFEBlendElement.h:
  • svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::build):
  • svg/SVGFEColorMatrixElement.h:
  • svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::build):
  • svg/SVGFEComponentTransferElement.h:
  • svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::build):
  • svg/SVGFECompositeElement.h:
  • svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::build):
  • svg/SVGFEDiffuseLightingElement.h:
  • svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::build):
  • svg/SVGFEDisplacementMapElement.h:
  • svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::build):
  • svg/SVGFEFloodElement.h:
  • svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::build):
  • svg/SVGFEGaussianBlurElement.h:
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::build):
  • svg/SVGFEImageElement.h:
  • svg/SVGFEMergeElement.cpp: (WebCore::SVGFEMergeElement::build):
  • svg/SVGFEMergeElement.h:
  • svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::build):
  • svg/SVGFEMorphologyElement.h:
  • svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::build):
  • svg/SVGFEOffsetElement.h:
  • svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::build):
  • svg/SVGFESpecularLightingElement.h:
  • svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::build):
  • svg/SVGFETileElement.h:
  • svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::build):
  • svg/SVGFETurbulenceElement.h: (WebCore::):
  • svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::createRenderer):
  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
  • svg/SVGFilterPrimitiveStandardAttributes.h: (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect): (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::invalidateResources):
  • svg/graphics/SVGResource.cpp:
  • svg/graphics/SVGResource.h: (WebCore::): (WebCore::SVGResource::isPaintServer):
  • svg/graphics/SVGResourceFilter.cpp: Removed.
  • svg/graphics/SVGResourceFilter.h: Removed.
  • svg/graphics/filters/SVGFilterBuilder.h: (WebCore::SVGFilterBuilder::namedEffects):

2010-04-20 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

SVGResourceFilter needs to be moved to under Renderers
https://bugs.webkit.org/show_bug.cgi?id=35320

All SVG tests with filters need an update. A new renderer for
SVGFilterElement was created. This renderer also dumps filter
primitives as long as they have externalRepresentation implemented.

  • platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
  • platform/mac/svg/batik/filters/feTile-expected.txt:
  • platform/mac/svg/batik/filters/filterRegions-expected.txt:
  • platform/mac/svg/batik/text/textEffect-expected.txt:
  • platform/mac/svg/batik/text/textEffect3-expected.txt:
  • platform/mac/svg/batik/text/textFeatures-expected.txt:
  • platform/mac/svg/batik/text/textProperties-expected.txt:
  • platform/mac/svg/custom/empty-merge-expected.txt:
  • platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
  • platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
  • platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
  • platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
  • platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
  • platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
  • platform/mac/svg/custom/invalid-css-expected.txt:
  • platform/mac/svg/custom/non-opaque-filters-expected.txt:
  • platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
  • platform/mac/svg/custom/text-filter-expected.txt:
  • platform/mac/svg/custom/visibility-override-filter-expected.txt:
  • platform/mac/svg/filters/big-sized-filter-2-expected.txt:
  • platform/mac/svg/filters/big-sized-filter-expected.txt:
  • platform/mac/svg/filters/feColorMatrix-values-expected.txt:
  • platform/mac/svg/filters/feComposite-expected.txt:
  • platform/mac/svg/filters/feDisplacementMap-expected.txt:
  • platform/mac/svg/filters/feGaussianBlur-expected.txt:
  • platform/mac/svg/filters/feMerge-expected.txt:
  • platform/mac/svg/filters/feMerge-wrong-input-expected.txt:
  • platform/mac/svg/filters/feOffset-expected.txt:
  • platform/mac/svg/filters/feTile-expected.txt:
  • platform/mac/svg/filters/filter-clip-expected.txt:
  • platform/mac/svg/filters/filter-on-tspan-expected.txt:
  • platform/mac/svg/filters/filter-source-position-expected.txt:
  • platform/mac/svg/filters/filterRes-expected.txt:
  • platform/mac/svg/filters/shadow-on-filter-expected.txt:
  • platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
  • platform/mac/svg/filters/sourceAlpha-expected.txt:
  • platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
  • platform/mac/svg/filters/subRegion-one-effect-expected.txt:
  • platform/mac/svg/filters/subRegion-two-effects-expected.txt:
Location:
trunk
Files:
2 added
2 deleted
116 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r57878 r57880  
     12010-04-20  Dirk Schulze  <krit@webkit.org>
     2
     3        Reviewed by Nikolas Zimmermann.
     4
     5        SVGResourceFilter needs to be moved to under Renderers
     6        https://bugs.webkit.org/show_bug.cgi?id=35320
     7
     8        All SVG tests with filters need an update. A new renderer for
     9        SVGFilterElement was created. This renderer also dumps filter
     10        primitives as long as they have externalRepresentation implemented.
     11
     12        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
     13        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
     14        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
     15        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
     16        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
     17        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
     18        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
     19        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
     20        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
     21        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
     22        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
     23        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
     24        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
     25        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
     26        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
     27        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
     28        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
     29        * platform/mac/svg/batik/filters/feTile-expected.txt:
     30        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
     31        * platform/mac/svg/batik/text/textEffect-expected.txt:
     32        * platform/mac/svg/batik/text/textEffect3-expected.txt:
     33        * platform/mac/svg/batik/text/textFeatures-expected.txt:
     34        * platform/mac/svg/batik/text/textProperties-expected.txt:
     35        * platform/mac/svg/custom/empty-merge-expected.txt:
     36        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
     37        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
     38        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
     39        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
     40        * platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
     41        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
     42        * platform/mac/svg/custom/invalid-css-expected.txt:
     43        * platform/mac/svg/custom/non-opaque-filters-expected.txt:
     44        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
     45        * platform/mac/svg/custom/text-filter-expected.txt:
     46        * platform/mac/svg/custom/visibility-override-filter-expected.txt:
     47        * platform/mac/svg/filters/big-sized-filter-2-expected.txt:
     48        * platform/mac/svg/filters/big-sized-filter-expected.txt:
     49        * platform/mac/svg/filters/feColorMatrix-values-expected.txt:
     50        * platform/mac/svg/filters/feComposite-expected.txt:
     51        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
     52        * platform/mac/svg/filters/feGaussianBlur-expected.txt:
     53        * platform/mac/svg/filters/feMerge-expected.txt:
     54        * platform/mac/svg/filters/feMerge-wrong-input-expected.txt:
     55        * platform/mac/svg/filters/feOffset-expected.txt:
     56        * platform/mac/svg/filters/feTile-expected.txt:
     57        * platform/mac/svg/filters/filter-clip-expected.txt:
     58        * platform/mac/svg/filters/filter-on-tspan-expected.txt:
     59        * platform/mac/svg/filters/filter-source-position-expected.txt:
     60        * platform/mac/svg/filters/filterRes-expected.txt:
     61        * platform/mac/svg/filters/shadow-on-filter-expected.txt:
     62        * platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
     63        * platform/mac/svg/filters/sourceAlpha-expected.txt:
     64        * platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
     65        * platform/mac/svg/filters/subRegion-one-effect-expected.txt:
     66        * platform/mac/svg/filters/subRegion-two-effects-expected.txt:
     67
    1682010-04-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
    269
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="BlendNormal" [type=FILTER] }
    2 KCanvasResource {id="BlendMultiply" [type=FILTER] }
    3 KCanvasResource {id="BlendScreen" [type=FILTER] }
    4 KCanvasResource {id="BlendDarken" [type=FILTER] }
    5 KCanvasResource {id="BlendLighten" [type=FILTER] }
    61layer at (0,0) size 480x360
    72  RenderView at (0,0) size 480x360
     
    116      RenderSVGImage {image} at (120,15) size 300x294
    127      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    13       RenderPath {rect} at (90,30) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [filter=BlendNormal] [data="M30.00,10.00 L150.00,10.00 L150.00,20.00 L30.00,20.00 Z"]
    14       RenderPath {rect} at (90,69) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [filter=BlendMultiply] [data="M30.00,23.00 L150.00,23.00 L150.00,33.00 L30.00,33.00 Z"]
    15       RenderSVGContainer {g} at (90,108) size 360x69 [filter=BlendMultiply]
     8        RenderSVGResourceFilter {filter} [id="BlendNormal"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9          [primitve="img1" [type=FLOOD]  [color=#00FF00] [opacity=0.50]]
     10          [last primitive ]
     11        RenderSVGResourceFilter {filter} [id="BlendMultiply"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     12          [primitve="img2" [type=FLOOD]  [color=#00FF00] [opacity=0.50]]
     13          [last primitive ]
     14        RenderSVGResourceFilter {filter} [id="BlendScreen"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15          [primitve="img2" [type=FLOOD]  [color=#00FF00] [opacity=0.50]]
     16          [last primitive ]
     17        RenderSVGResourceFilter {filter} [id="BlendDarken"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     18          [primitve="img2" [type=FLOOD]  [color=#00FF00] [opacity=0.50]]
     19          [last primitive ]
     20        RenderSVGResourceFilter {filter} [id="BlendLighten"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     21          [primitve="img2" [type=FLOOD]  [color=#00FF00] [opacity=0.50]]
     22          [last primitive ]
     23      RenderPath {rect} at (90,30) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M30.00,10.00 L150.00,10.00 L150.00,20.00 L30.00,20.00 Z"]
     24        [filter="BlendNormal"] RenderSVGResourceFilter {filter} at (30,10) size 120x10
     25      RenderPath {rect} at (90,69) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M30.00,23.00 L150.00,23.00 L150.00,33.00 L30.00,33.00 Z"]
     26        [filter="BlendMultiply"] RenderSVGResourceFilter {filter} at (30,23) size 120x10
     27      RenderSVGContainer {g} at (90,108) size 360x69
     28        [filter="BlendMultiply"] RenderSVGResourceFilter {filter} at (30,36) size 120x23
    1629        RenderPath {rect} at (90,108) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M30.00,36.00 L150.00,36.00 L150.00,46.00 L30.00,46.00 Z"]
    1730        RenderPath {rect} at (90,147) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#FFFF00]}] [data="M30.00,49.00 L150.00,49.00 L150.00,59.00 L30.00,59.00 Z"]
    18       RenderPath {rect} at (90,186) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [filter=BlendScreen] [data="M30.00,62.00 L150.00,62.00 L150.00,72.00 L30.00,72.00 Z"]
    19       RenderPath {rect} at (90,225) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [filter=BlendDarken] [data="M30.00,75.00 L150.00,75.00 L150.00,85.00 L30.00,85.00 Z"]
    20       RenderPath {rect} at (90,264) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [filter=BlendLighten] [data="M30.00,88.00 L150.00,88.00 L150.00,98.00 L30.00,98.00 Z"]
     31      RenderPath {rect} at (90,186) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M30.00,62.00 L150.00,62.00 L150.00,72.00 L30.00,72.00 Z"]
     32        [filter="BlendScreen"] RenderSVGResourceFilter {filter} at (30,62) size 120x10
     33      RenderPath {rect} at (90,225) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M30.00,75.00 L150.00,75.00 L150.00,85.00 L30.00,85.00 Z"]
     34        [filter="BlendDarken"] RenderSVGResourceFilter {filter} at (30,75) size 120x10
     35      RenderPath {rect} at (90,264) size 360x30 [opacity=0.50] [fill={[type=SOLID] [color=#0000FF]}] [data="M30.00,88.00 L150.00,88.00 L150.00,98.00 L30.00,98.00 Z"]
     36        [filter="BlendLighten"] RenderSVGResourceFilter {filter} at (30,88) size 120x10
    2137      RenderSVGContainer {g} at (15,33) size 78x258
    2238        RenderSVGText {text} at (5,17) size 21x8 contains 1 chunk(s)
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="MyGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}
    2 KCanvasResource {id="Matrix" [type=FILTER] }
    3 KCanvasResource {id="Saturate40" [type=FILTER]  [bounding box=at (-5.00%,-5.00%) size 110.00%x110.00%]}
    4 KCanvasResource {id="HueRotate90" [type=FILTER]  [bounding box=at (-5.00%,-5.00%) size 110.00%x110.00%]}
    5 KCanvasResource {id="LuminanceToAlpha" [type=FILTER]  [bounding box=at (-5.00%,-5.00%) size 110.00%x110.00%]}
    62layer at (0,0) size 480x360
    73  RenderView at (0,0) size 480x360
     
    1612            RenderSVGGradientStop {stop} at (0,0) size 0x0
    1713            RenderSVGGradientStop {stop} at (0,0) size 0x0
     14          RenderSVGResourceFilter {filter} [id="Matrix"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive ]
     16          RenderSVGResourceFilter {filter} [id="Saturate40"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive ]
     18          RenderSVGResourceFilter {filter} [id="HueRotate90"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive ]
     20          RenderSVGResourceFilter {filter} [id="LuminanceToAlpha"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     21            [primitve="a" ]
     22            [last primitive ]
    1823        RenderSVGContainer {g} at (0,5) size 480x292
    1924          RenderPath {rect} at (8,5) size 464x290 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L799.00,1.00 L799.00,499.00 L1.00,499.00 Z"]
     
    2227            RenderSVGInlineText {#text} at (0,-40) size 196x48
    2328              chunk 1 text run 1 at (20.00,95.00) startOffset 0 endOffset 10 width 196.00: "Unfiltered"
    24           RenderPath {rect} at (19,74) size 442x24 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=Matrix] [data="M20.00,120.00 L780.00,120.00 L780.00,160.00 L20.00,160.00 Z"]
     29          RenderPath {rect} at (19,74) size 442x24 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [data="M20.00,120.00 L780.00,120.00 L780.00,160.00 L20.00,160.00 Z"]
     30            [filter="Matrix"] RenderSVGResourceFilter {filter} at (20,120) size 760x40
    2531          RenderSVGText {text} at (20,195) size 675x48 contains 1 chunk(s)
    2632            RenderSVGInlineText {#text} at (0,-40) size 675x48
    2733              chunk 1 text run 1 at (20.00,195.00) startOffset 0 endOffset 32 width 675.00: "type=\"matrix\" (grayscale matrix)"
    28           RenderPath {rect} at (0,131) size 480x26 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=Saturate40] [data="M20.00,220.00 L780.00,220.00 L780.00,260.00 L20.00,260.00 Z"]
     34          RenderPath {rect} at (0,131) size 480x26 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [data="M20.00,220.00 L780.00,220.00 L780.00,260.00 L20.00,260.00 Z"]
     35            [filter="Saturate40"] RenderSVGResourceFilter {filter} at (-18,218) size 836x44
    2936          RenderSVGText {text} at (20,295) size 577x48 contains 1 chunk(s)
    3037            RenderSVGInlineText {#text} at (0,-40) size 577x48
    3138              chunk 1 text run 1 at (20.00,295.00) startOffset 0 endOffset 27 width 577.00: "type=\"saturate\" values=\".4\""
    32           RenderPath {rect} at (0,189) size 480x26 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=HueRotate90] [data="M20.00,320.00 L780.00,320.00 L780.00,360.00 L20.00,360.00 Z"]
     39          RenderPath {rect} at (0,189) size 480x26 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [data="M20.00,320.00 L780.00,320.00 L780.00,360.00 L20.00,360.00 Z"]
     40            [filter="HueRotate90"] RenderSVGResourceFilter {filter} at (-18,318) size 836x44
    3341          RenderSVGText {text} at (20,395) size 626x48 contains 1 chunk(s)
    3442            RenderSVGInlineText {#text} at (0,-40) size 626x48
    3543              chunk 1 text run 1 at (20.00,395.00) startOffset 0 endOffset 28 width 626.00: "type=\"hueRotate\" values=\"90\""
    36           RenderPath {rect} at (0,247) size 480x26 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [filter=LuminanceToAlpha] [data="M20.00,420.00 L780.00,420.00 L780.00,460.00 L20.00,460.00 Z"]
     44          RenderPath {rect} at (0,247) size 480x26 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#DD00DD), (0.33,#22CC22), (0.67,#400000), (1.00,#A0A0FF)]] [bounding box mode=0] [start=(20,0)] [end=(760,0)]}] [data="M20.00,420.00 L780.00,420.00 L780.00,460.00 L20.00,460.00 Z"]
     45            [filter="LuminanceToAlpha"] RenderSVGResourceFilter {filter} at (-18,418) size 836x44
    3746          RenderSVGText {text} at (20,495) size 524x48 contains 1 chunk(s)
    3847            RenderSVGInlineText {#text} at (0,-40) size 524x48
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="over" [type=FILTER] }
    2 KCanvasResource {id="over50" [type=FILTER] }
    3 KCanvasResource {id="in" [type=FILTER] }
    4 KCanvasResource {id="in50" [type=FILTER] }
    5 KCanvasResource {id="out" [type=FILTER] }
    6 KCanvasResource {id="out50" [type=FILTER] }
    7 KCanvasResource {id="atop" [type=FILTER] }
    8 KCanvasResource {id="atop50" [type=FILTER] }
    9 KCanvasResource {id="xor" [type=FILTER] }
    10 KCanvasResource {id="xor50" [type=FILTER] }
    11 KCanvasResource {id="arithmetic" [type=FILTER] }
    12 KCanvasResource {id="arithmetic50" [type=FILTER] }
    131layer at (0,0) size 480x360
    142  RenderView at (0,0) size 480x360
     
    219        RenderPath {path} at (15,0) size 150x90 [fill={[type=SOLID] [color=#00FFFF] [opacity=0.50]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 Z"]
    2210        RenderPath {path} at (15,0) size 150x90 [fill={[type=SOLID] [color=#FF00FF] [opacity=0.50]}] [data="M0.00,0.00 L0.00,150.00 L150.00,0.00 Z"]
     11        RenderSVGResourceFilter {filter} [id="over"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     12          [primitve="red" [type=IMAGE] ]
     13          [primitve="blue" [type=IMAGE] ]
     14          [last primitive ]
     15        RenderSVGResourceFilter {filter} [id="over50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     16          [primitve="red" [type=IMAGE] ]
     17          [primitve="blue" [type=IMAGE] ]
     18          [last primitive ]
     19        RenderSVGResourceFilter {filter} [id="in"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     20          [primitve="red" [type=IMAGE] ]
     21          [primitve="blue" [type=IMAGE] ]
     22          [last primitive ]
     23        RenderSVGResourceFilter {filter} [id="in50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     24          [primitve="red" [type=IMAGE] ]
     25          [primitve="blue" [type=IMAGE] ]
     26          [last primitive ]
     27        RenderSVGResourceFilter {filter} [id="out"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     28          [primitve="red" [type=IMAGE] ]
     29          [primitve="blue" [type=IMAGE] ]
     30          [last primitive ]
     31        RenderSVGResourceFilter {filter} [id="out50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     32          [primitve="red" [type=IMAGE] ]
     33          [primitve="blue" [type=IMAGE] ]
     34          [last primitive ]
     35        RenderSVGResourceFilter {filter} [id="atop"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     36          [primitve="red" [type=IMAGE] ]
     37          [primitve="blue" [type=IMAGE] ]
     38          [last primitive ]
     39        RenderSVGResourceFilter {filter} [id="atop50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     40          [primitve="red" [type=IMAGE] ]
     41          [primitve="blue" [type=IMAGE] ]
     42          [last primitive ]
     43        RenderSVGResourceFilter {filter} [id="xor"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     44          [primitve="red" [type=IMAGE] ]
     45          [primitve="blue" [type=IMAGE] ]
     46          [last primitive ]
     47        RenderSVGResourceFilter {filter} [id="xor50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     48          [primitve="red" [type=IMAGE] ]
     49          [primitve="blue" [type=IMAGE] ]
     50          [last primitive ]
     51        RenderSVGResourceFilter {filter} [id="arithmetic"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     52          [primitve="red" [type=IMAGE] ]
     53          [primitve="blue" [type=IMAGE] ]
     54          [last primitive ]
     55        RenderSVGResourceFilter {filter} [id="arithmetic50"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     56          [primitve="red" [type=IMAGE] ]
     57          [primitve="blue" [type=IMAGE] ]
     58          [last primitive ]
    2359      RenderSVGContainer {g} at (20,10) size 440x290 [transform={m=((0.40,0.00)(0.00,0.40)) t=(5.00,70.00)}]
    2460        RenderPath {rect} at (20,10) size 440x290 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L1099.00,1.00 L1099.00,724.00 L1.00,724.00 Z"]
     
    3066            chunk 1 text run 1 at (100.00,180.00) startOffset 0 endOffset 25 width 792.00: "on second row opacity 0.5"
    3167        RenderSVGContainer {g} at (26,102) size 60x166 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,230.00)}]
    32           RenderPath {rect} at (26,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=over] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     68          RenderPath {rect} at (26,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     69            [filter="over"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    3370          RenderSVGText {text} at (10,400) size 134x73 contains 1 chunk(s)
    3471            RenderSVGInlineText {#text} at (0,-60) size 134x73
    3572              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 4 width 134.00: "over"
    3673        RenderSVGContainer {g} at (26,182) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,430.00)}]
    37           RenderPath {rect} at (26,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=over50] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     74          RenderPath {rect} at (26,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     75            [filter="over50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    3876        RenderSVGContainer {g} at (98,102) size 60x166 [transform={m=((1.00,0.00)(0.00,1.00)) t=(195.00,230.00)}]
    39           RenderPath {rect} at (98,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=in] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     77          RenderPath {rect} at (98,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     78            [filter="in"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    4079          RenderSVGText {text} at (10,400) size 54x73 contains 1 chunk(s)
    4180            RenderSVGInlineText {#text} at (0,-60) size 54x73
    4281              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 2 width 54.00: "in"
    4382        RenderSVGContainer {g} at (98,182) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(195.00,430.00)}]
    44           RenderPath {rect} at (98,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=in50] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     83          RenderPath {rect} at (98,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     84            [filter="in50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    4585        RenderSVGContainer {g} at (170,102) size 60x166 [transform={m=((1.00,0.00)(0.00,1.00)) t=(375.00,230.00)}]
    46           RenderPath {rect} at (170,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=out] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     86          RenderPath {rect} at (170,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     87            [filter="out"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    4788          RenderSVGText {text} at (10,400) size 98x73 contains 1 chunk(s)
    4889            RenderSVGInlineText {#text} at (0,-60) size 98x73
    4990              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 3 width 98.00: "out"
    5091        RenderSVGContainer {g} at (170,182) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(375.00,430.00)}]
    51           RenderPath {rect} at (170,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=out50] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     92          RenderPath {rect} at (170,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     93            [filter="out50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    5294        RenderSVGContainer {g} at (242,102) size 60x166 [transform={m=((1.00,0.00)(0.00,1.00)) t=(555.00,230.00)}]
    53           RenderPath {rect} at (242,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=atop] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     95          RenderPath {rect} at (242,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     96            [filter="atop"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    5497          RenderSVGText {text} at (10,400) size 133x73 contains 1 chunk(s)
    5598            RenderSVGInlineText {#text} at (0,-60) size 133x73
    5699              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 4 width 133.00: "atop"
    57100        RenderSVGContainer {g} at (242,182) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(555.00,430.00)}]
    58           RenderPath {rect} at (242,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=atop50] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     101          RenderPath {rect} at (242,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     102            [filter="atop50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    59103        RenderSVGContainer {g} at (314,102) size 60x166 [transform={m=((1.00,0.00)(0.00,1.00)) t=(735.00,230.00)}]
    60           RenderPath {rect} at (314,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=xor] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     104          RenderPath {rect} at (314,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     105            [filter="xor"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    61106          RenderSVGText {text} at (10,400) size 98x73 contains 1 chunk(s)
    62107            RenderSVGInlineText {#text} at (0,-60) size 98x73
    63108              chunk 1 text run 1 at (10.00,400.00) startOffset 0 endOffset 3 width 98.00: "xor"
    64109        RenderSVGContainer {g} at (314,182) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(735.00,430.00)}]
    65           RenderPath {rect} at (314,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=xor50] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     110          RenderPath {rect} at (314,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     111            [filter="xor50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    66112        RenderSVGContainer {g} at (376,102) size 70x194 [transform={m=((1.00,0.00)(0.00,1.00)) t=(915.00,230.00)}]
    67           RenderPath {rect} at (386,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=arithmetic] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     113          RenderPath {rect} at (386,102) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     114            [filter="arithmetic"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    68115          RenderSVGText {text} at (-25,400) size 167x73 contains 1 chunk(s)
    69116            RenderSVGInlineText {#text} at (0,-60) size 167x73
     
    73120              chunk 1 text run 1 at (-25.00,470.00) startOffset 0 endOffset 5 width 165.00: "metic"
    74121        RenderSVGContainer {g} at (386,182) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(915.00,430.00)}]
    75           RenderPath {rect} at (386,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [filter=arithmetic50] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     122          RenderPath {rect} at (386,182) size 60x60 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L150.00,0.00 L150.00,150.00 L0.00,150.00 Z"]
     123            [filter="arithmetic50"] RenderSVGResourceFilter {filter} at (0,0) size 150x150
    76124    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    77125      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="MyGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}
    2 KCanvasResource {id="Identity" [type=FILTER] }
    3 KCanvasResource {id="Table" [type=FILTER] }
    4 KCanvasResource {id="Linear" [type=FILTER] }
    5 KCanvasResource {id="Gamma" [type=FILTER] }
    62layer at (0,0) size 480x360
    73  RenderView at (0,0) size 480x360
     
    1612            RenderSVGGradientStop {stop} at (0,0) size 0x0
    1713            RenderSVGGradientStop {stop} at (0,0) size 0x0
     14          RenderSVGResourceFilter {filter} [id="Identity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive ]
     16          RenderSVGResourceFilter {filter} [id="Table"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive ]
     18          RenderSVGResourceFilter {filter} [id="Linear"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive ]
     20          RenderSVGResourceFilter {filter} [id="Gamma"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     21            [last primitive ]
    1822        RenderPath {rect} at (15,5) size 450x300 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L629.00,1.00 L629.00,419.00 L1.00,419.00 Z"]
    1923        RenderSVGContainer {g} at (15,5) size 450x300
    2024          RenderPath {rect} at (15,5) size 450x300 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L629.00,1.00 L629.00,419.00 L1.00,419.00 Z"]
    21           RenderPath {rect} at (22,12) size 415x29 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Identity] [data="M10.00,10.00 L590.00,10.00 L590.00,50.00 L10.00,50.00 Z"]
     25          RenderPath {rect} at (22,12) size 415x29 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M10.00,10.00 L590.00,10.00 L590.00,50.00 L10.00,50.00 Z"]
     26            [filter="Identity"] RenderSVGResourceFilter {filter} at (10,10) size 580x40
    2227          RenderSVGText {text} at (10,80) size 206x36 contains 1 chunk(s)
    2328            RenderSVGInlineText {#text} at (0,-30) size 206x36
    2429              chunk 1 text run 1 at (10.00,80.00) startOffset 0 endOffset 14 width 206.00: "type: identity"
    25           RenderPath {rect} at (22,83) size 415x30 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Table] [data="M10.00,110.00 L590.00,110.00 L590.00,150.00 L10.00,150.00 Z"]
     30          RenderPath {rect} at (22,83) size 415x30 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M10.00,110.00 L590.00,110.00 L590.00,150.00 L10.00,150.00 Z"]
     31            [filter="Table"] RenderSVGResourceFilter {filter} at (10,110) size 580x40
    2632          RenderSVGText {text} at (10,180) size 167x36 contains 1 chunk(s)
    2733            RenderSVGInlineText {#text} at (0,-30) size 167x36
    2834              chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 11 width 167.00: "type: table"
    29           RenderPath {rect} at (22,155) size 415x29 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Linear] [data="M10.00,210.00 L590.00,210.00 L590.00,250.00 L10.00,250.00 Z"]
     35          RenderPath {rect} at (22,155) size 415x29 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M10.00,210.00 L590.00,210.00 L590.00,250.00 L10.00,250.00 Z"]
     36            [filter="Linear"] RenderSVGResourceFilter {filter} at (10,210) size 580x40
    3037          RenderSVGText {text} at (10,280) size 601x36 contains 1 chunk(s)
    3138            RenderSVGInlineText {#text} at (0,-30) size 601x36
    3239              chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 40 width 601.00: "type:linear slope:.5 intercepts:.25/0/.5"
    33           RenderPath {rect} at (22,226) size 415x29 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Gamma] [data="M10.00,310.00 L590.00,310.00 L590.00,350.00 L10.00,350.00 Z"]
     40          RenderPath {rect} at (22,226) size 415x29 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (0.33,#00FF00), (0.67,#0000FF), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M10.00,310.00 L590.00,310.00 L590.00,350.00 L10.00,350.00 Z"]
     41            [filter="Gamma"] RenderSVGResourceFilter {filter} at (10,310) size 580x40
    3442          RenderSVGText {text} at (10,380) size 590x36 contains 1 chunk(s)
    3543            RenderSVGInlineText {#text} at (0,-30) size 590x36
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="convolve1" [type=FILTER] }
    2 KCanvasResource {id="convolve2" [type=FILTER] }
    3 KCanvasResource {id="convolve3" [type=FILTER] }
    4 KCanvasResource {id="convolve4" [type=FILTER] }
    5 KCanvasResource {id="convolve5" [type=FILTER] }
    6 KCanvasResource {id="convolve6" [type=FILTER] }
    71layer at (0,0) size 480x360
    82  RenderView at (0,0) size 480x360
     
    126      RenderSVGContainer {g} at (30,46) size 417x180 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
    137        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     8          RenderSVGResourceFilter {filter} [id="convolve1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9            [last primitive ]
     10          RenderSVGResourceFilter {filter} [id="convolve2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11            [last primitive ]
     12          RenderSVGResourceFilter {filter} [id="convolve3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13            [last primitive ]
     14          RenderSVGResourceFilter {filter} [id="convolve4"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive ]
     16          RenderSVGResourceFilter {filter} [id="convolve5"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive ]
     18          RenderSVGResourceFilter {filter} [id="convolve6"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive ]
    1420        RenderSVGContainer {g} at (30,46) size 417x180
    1521          RenderSVGText {text} at (10,20) size 66x18 contains 1 chunk(s)
     
    1723              chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 10 width 66.00: "Blur (3x3)"
    1824          RenderSVGContainer {g} at (30,70) size 50x63
    19             RenderSVGImage {image} at (30,70) size 50x63 [filter=convolve1]
     25            RenderSVGImage {image} at (30,70) size 50x63
     26              [filter="convolve1"] RenderSVGResourceFilter {filter} at (10,30) size 50x63
    2027          RenderSVGText {text} at (10,20) size 136x18 contains 1 chunk(s)
    2128            RenderSVGInlineText {#text} at (0,-14) size 136x18
    2229              chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 20 width 136.00: "Edge Detection (3x3)"
    2330          RenderSVGContainer {g} at (180,70) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,0.00)}]
    24             RenderSVGImage {image} at (180,70) size 50x63 [filter=convolve2]
     31            RenderSVGImage {image} at (180,70) size 50x63
     32              [filter="convolve2"] RenderSVGResourceFilter {filter} at (10,30) size 50x63
    2533          RenderSVGText {text} at (10,20) size 110x18 contains 1 chunk(s)
    2634            RenderSVGInlineText {#text} at (0,-14) size 110x18
    2735              chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 16 width 110.00: "Sharpening (3x3)"
    2836          RenderSVGContainer {g} at (330,70) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}]
    29             RenderSVGImage {image} at (330,70) size 50x63 [filter=convolve3]
     37            RenderSVGImage {image} at (330,70) size 50x63
     38              [filter="convolve3"] RenderSVGResourceFilter {filter} at (10,30) size 50x63
    3039          RenderSVGText {text} at (10,20) size 108x18 contains 1 chunk(s)
    3140            RenderSVGInlineText {#text} at (0,-14) size 108x18
    3241              chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 15 width 108.00: "Embossing (3x3)"
    3342          RenderSVGContainer {g} at (30,163) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,93.00)}]
    34             RenderSVGImage {image} at (30,163) size 50x63 [filter=convolve4]
     43            RenderSVGImage {image} at (30,163) size 50x63
     44              [filter="convolve4"] RenderSVGResourceFilter {filter} at (10,30) size 50x63
    3545          RenderSVGText {text} at (10,20) size 134x18 contains 1 chunk(s)
    3646            RenderSVGInlineText {#text} at (0,-14) size 134x18
    3747              chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 21 width 134.00: "Horizontal blur (3x1)"
    3848          RenderSVGContainer {g} at (180,163) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,93.00)}]
    39             RenderSVGImage {image} at (180,163) size 50x63 [filter=convolve5]
     49            RenderSVGImage {image} at (180,163) size 50x63
     50              [filter="convolve5"] RenderSVGResourceFilter {filter} at (10,30) size 50x63
    4051          RenderSVGText {text} at (10,20) size 117x18 contains 1 chunk(s)
    4152            RenderSVGInlineText {#text} at (0,-14) size 117x18
    4253              chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 19 width 115.00: "Vertical blur (1x3)"
    4354          RenderSVGContainer {g} at (330,163) size 50x63 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,93.00)}]
    44             RenderSVGImage {image} at (330,163) size 50x63 [filter=convolve6]
     55            RenderSVGImage {image} at (330,163) size 50x63
     56              [filter="convolve6"] RenderSVGResourceFilter {filter} at (10,30) size 50x63
    4557    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    4658      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="surfaceScaleA" [type=FILTER] }
    2 KCanvasResource {id="surfaceScaleB" [type=FILTER] }
    3 KCanvasResource {id="surfaceScaleC" [type=FILTER] }
    4 KCanvasResource {id="diffuseConstantA" [type=FILTER] }
    5 KCanvasResource {id="diffuseConstantB" [type=FILTER] }
    6 KCanvasResource {id="diffuseConstantC" [type=FILTER] }
    7 KCanvasResource {id="lightingColorA" [type=FILTER] }
    8 KCanvasResource {id="lightingColorB" [type=FILTER] }
    9 KCanvasResource {id="lightingColorC" [type=FILTER] }
    101layer at (0,0) size 480x360
    112  RenderView at (0,0) size 480x360
     
    178          chunk 1 text run 1 at (145.00,30.00) startOffset 0 endOffset 26 width 140.00: "Filters: feDiffuseLighting"
    189      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     10        RenderSVGResourceFilter {filter} [id="surfaceScaleA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=1.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     12        RenderSVGResourceFilter {filter} [id="surfaceScaleB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     14        RenderSVGResourceFilter {filter} [id="surfaceScaleC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=-10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     16        RenderSVGResourceFilter {filter} [id="diffuseConstantA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=0.00] [kernel unit length 0.00, 0.00]]
     18        RenderSVGResourceFilter {filter} [id="diffuseConstantB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     20        RenderSVGResourceFilter {filter} [id="diffuseConstantC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     21          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=2.00] [kernel unit length 0.00, 0.00]]
     22        RenderSVGResourceFilter {filter} [id="lightingColorA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     23          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     24        RenderSVGResourceFilter {filter} [id="lightingColorB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     25          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     26        RenderSVGResourceFilter {filter} [id="lightingColorC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     27          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
    1928      RenderSVGContainer {g} at (90,61) size 291x49 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
    2029        RenderSVGText {text} at (90,25) size 291x18 contains 1 chunk(s)
    2130          RenderSVGInlineText {#text} at (0,-14) size 291x18
    2231            chunk 1 text run 1 at (90.00,25.00) startOffset 0 endOffset 46 width 291.00: "Various values for surfaceScale: 1, 10 and -10"
    23         RenderSVGImage {image} at (90,80) size 50x30 [filter=surfaceScaleA]
    24         RenderSVGImage {image} at (160,80) size 50x30 [filter=surfaceScaleB]
    25         RenderSVGImage {image} at (230,80) size 50x30 [filter=surfaceScaleC]
     32        RenderSVGImage {image} at (90,80) size 50x30
     33          [filter="surfaceScaleA"] RenderSVGResourceFilter {filter} at (90,30) size 50x30
     34        RenderSVGImage {image} at (160,80) size 50x30
     35          [filter="surfaceScaleB"] RenderSVGResourceFilter {filter} at (160,30) size 50x30
     36        RenderSVGImage {image} at (230,80) size 50x30
     37          [filter="surfaceScaleC"] RenderSVGResourceFilter {filter} at (230,30) size 50x30
    2638      RenderSVGContainer {g} at (90,131) size 296x49 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
    2739        RenderSVGText {text} at (90,25) size 296x18 contains 1 chunk(s)
    2840          RenderSVGInlineText {#text} at (0,-14) size 296x18
    2941            chunk 1 text run 1 at (90.00,25.00) startOffset 0 endOffset 47 width 296.00: "Various values for diffuseConstants: 0, 1 and 2"
    30         RenderSVGImage {image} at (90,150) size 50x30 [filter=diffuseConstantA]
    31         RenderSVGImage {image} at (160,150) size 50x30 [filter=diffuseConstantB]
    32         RenderSVGImage {image} at (230,150) size 50x30 [filter=diffuseConstantC]
     42        RenderSVGImage {image} at (90,150) size 50x30
     43          [filter="diffuseConstantA"] RenderSVGResourceFilter {filter} at (90,30) size 50x30
     44        RenderSVGImage {image} at (160,150) size 50x30
     45          [filter="diffuseConstantB"] RenderSVGResourceFilter {filter} at (160,30) size 50x30
     46        RenderSVGImage {image} at (230,150) size 50x30
     47          [filter="diffuseConstantC"] RenderSVGResourceFilter {filter} at (230,30) size 50x30
    3348      RenderSVGContainer {g} at (90,201) size 341x49 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,190.00)}]
    3449        RenderSVGText {text} at (90,25) size 341x18 contains 1 chunk(s)
    3550          RenderSVGInlineText {#text} at (0,-14) size 341x18
    3651            chunk 1 text run 1 at (90.00,25.00) startOffset 0 endOffset 55 width 341.00: "Various values for lighting color: red, yellow and blue"
    37         RenderSVGImage {image} at (90,220) size 50x30 [filter=lightingColorA]
    38         RenderSVGImage {image} at (160,220) size 50x30 [filter=lightingColorB]
    39         RenderSVGImage {image} at (230,220) size 50x30 [filter=lightingColorC]
     52        RenderSVGImage {image} at (90,220) size 50x30
     53          [filter="lightingColorA"] RenderSVGResourceFilter {filter} at (90,30) size 50x30
     54        RenderSVGImage {image} at (160,220) size 50x30
     55          [filter="lightingColorB"] RenderSVGResourceFilter {filter} at (160,30) size 50x30
     56        RenderSVGImage {image} at (230,220) size 50x30
     57          [filter="lightingColorC"] RenderSVGResourceFilter {filter} at (230,30) size 50x30
    4058    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    4159      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="DispMapChecker" [type=FILTER] }
    2 KCanvasResource {id="RotateMap" [type=FILTER] }
    3 KCanvasResource {id="SphereMap" [type=FILTER] }
    4 KCanvasResource {id="RotateMapTest" [type=FILTER] }
    5 KCanvasResource {id="SphereMapTest" [type=FILTER] }
    61layer at (0,0) size 480x360
    72  RenderView at (0,0) size 480x360
     
    105    RenderSVGContainer {g} at (15,15) size 415x333
    116      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     7        RenderSVGResourceFilter {filter} [id="DispMapChecker"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     8          [last primitive [type=IMAGE] ]
     9        RenderSVGResourceFilter {filter} [id="RotateMap"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     10          [last primitive [type=IMAGE] ]
     11        RenderSVGResourceFilter {filter} [id="SphereMap"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     12          [last primitive [type=IMAGE] ]
     13        RenderSVGResourceFilter {filter} [id="RotateMapTest"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     14          [primitve="Map" [type=IMAGE] ]
     15          [primitve="Texture" [type=IMAGE] ]
     16          [last primitive [type=DISPLACEMENT-MAP]  [in2=457948736] [scale=64.00] [x channel selector=RED] [y channel selector=GREEN]]
     17        RenderSVGResourceFilter {filter} [id="SphereMapTest"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     18          [primitve="Map" [type=IMAGE] ]
     19          [primitve="Texture" [type=IMAGE] ]
     20          [last primitive [type=DISPLACEMENT-MAP]  [in2=457948736] [scale=64.00] [x channel selector=RED] [y channel selector=GREEN]]
    1221      RenderSVGContainer {g} at (15,15) size 415x333
    13         RenderPath {rect} at (15,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=DispMapChecker] [data="M15.00,15.00 L143.00,15.00 L143.00,143.00 L15.00,143.00 Z"]
     22        RenderPath {rect} at (15,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [data="M15.00,15.00 L143.00,15.00 L143.00,143.00 L15.00,143.00 Z"]
     23          [filter="DispMapChecker"] RenderSVGResourceFilter {filter} at (15,15) size 128x128
    1424        RenderPath {rect} at (20,115) size 118x20 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M20.00,115.00 L138.00,115.00 L138.00,135.00 L20.00,135.00 Z"]
    1525        RenderSVGText {text} at (21,130) size 116x14 contains 1 chunk(s)
    1626          RenderSVGInlineText {#text} at (0,-11) size 116x14
    1727            chunk 1 (middle anchor) text run 1 at (21.50,130.00) startOffset 0 endOffset 18 width 115.00: "Checkerboard Image"
    18         RenderPath {rect} at (158,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=RotateMap] [data="M158.00,15.00 L286.00,15.00 L286.00,143.00 L158.00,143.00 Z"]
     28        RenderPath {rect} at (158,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [data="M158.00,15.00 L286.00,15.00 L286.00,143.00 L158.00,143.00 Z"]
     29          [filter="RotateMap"] RenderSVGResourceFilter {filter} at (158,15) size 128x128
    1930        RenderPath {rect} at (163,112) size 118x30 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M163.00,112.00 L281.00,112.00 L281.00,142.00 L163.00,142.00 Z"]
    2031        RenderSVGText {text} at (169,125) size 106x27 contains 2 chunk(s)
     
    2738            RenderSVGInlineText {#text} at (6,2) size 94x14
    2839              chunk 2 (middle anchor) text run 1 at (175.50,138.00) startOffset 0 endOffset 18 width 93.00: "(20 deg. rotation)"
    29         RenderPath {rect} at (301,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=RotateMapTest] [data="M301.00,15.00 L429.00,15.00 L429.00,143.00 L301.00,143.00 Z"]
     40        RenderPath {rect} at (301,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [data="M301.00,15.00 L429.00,15.00 L429.00,143.00 L301.00,143.00 Z"]
     41          [filter="RotateMapTest"] RenderSVGResourceFilter {filter} at (301,15) size 128x128
    3042        RenderPath {rect} at (323,37) size 84x84 [transform={m=((30.07,10.94)(-10.94,30.07)) t=(365.00,79.00)}] [fill={[type=SOLID] [color=#0000FF] [opacity=0.50]}] [data="M-1.00,-1.00 L1.00,-1.00 L1.00,1.00 L-1.00,1.00 Z"]
    3143        RenderSVGText {text} at (300,160) size 130x38 contains 3 chunk(s)
     
    4355            RenderSVGInlineText {#text} at (3,13) size 124x14
    4456              chunk 3 (middle anchor) text run 1 at (303.50,184.00) startOffset 0 endOffset 23 width 123.00: "rotated blue rectangle)"
    45         RenderPath {rect} at (15,158) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=DispMapChecker] [data="M15.00,158.00 L143.00,158.00 L143.00,286.00 L15.00,286.00 Z"]
     57        RenderPath {rect} at (15,158) size 128x128 [fill={[type=SOLID] [color=#000000]}] [data="M15.00,158.00 L143.00,158.00 L143.00,286.00 L15.00,286.00 Z"]
     58          [filter="DispMapChecker"] RenderSVGResourceFilter {filter} at (15,158) size 128x128
    4659        RenderPath {rect} at (20,258) size 118x20 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M20.00,258.00 L138.00,258.00 L138.00,278.00 L20.00,278.00 Z"]
    4760        RenderSVGText {text} at (21,273) size 116x14 contains 1 chunk(s)
    4861          RenderSVGInlineText {#text} at (0,-11) size 116x14
    4962            chunk 1 (middle anchor) text run 1 at (21.50,273.00) startOffset 0 endOffset 18 width 115.00: "Checkerboard Image"
    50         RenderPath {rect} at (158,158) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=SphereMap] [data="M158.00,158.00 L286.00,158.00 L286.00,286.00 L158.00,286.00 Z"]
     63        RenderPath {rect} at (158,158) size 128x128 [fill={[type=SOLID] [color=#000000]}] [data="M158.00,158.00 L286.00,158.00 L286.00,286.00 L158.00,286.00 Z"]
     64          [filter="SphereMap"] RenderSVGResourceFilter {filter} at (158,158) size 128x128
    5165        RenderPath {rect} at (163,255) size 118x30 [fill={[type=SOLID] [color=#DDDDDD]}] [data="M163.00,255.00 L281.00,255.00 L281.00,285.00 L163.00,285.00 Z"]
    5266        RenderSVGText {text} at (166,268) size 112x29 contains 2 chunk(s)
     
    5973            RenderSVGInlineText {#text} at (0,4) size 112x14
    6074              chunk 2 (middle anchor) text run 1 at (166.50,283.00) startOffset 0 endOffset 22 width 111.00: "(spherical distortion)"
    61         RenderPath {rect} at (301,200) size 128x128 [fill={[type=SOLID] [color=#000000]}] [filter=SphereMapTest] [data="M301.00,200.00 L429.00,200.00 L429.00,328.00 L301.00,328.00 Z"]
     75        RenderPath {rect} at (301,200) size 128x128 [fill={[type=SOLID] [color=#000000]}] [data="M301.00,200.00 L429.00,200.00 L429.00,328.00 L301.00,328.00 Z"]
     76          [filter="SphereMapTest"] RenderSVGResourceFilter {filter} at (301,200) size 128x128
    6277        RenderSVGText {text} at (347,345) size 36x14 contains 1 chunk(s)
    6378          RenderSVGInlineText {#text} at (0,-11) size 36x14
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="MyFilter" [type=FILTER]  [bounding box=at (0,0) size 200x120] [bounding box mode=0]}
    21layer at (0,0) size 480x360
    32  RenderView at (0,0) size 480x360
     
    76      RenderSVGViewportContainer {svg} at (80,110) size 300x180
    87        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     8          RenderSVGResourceFilter {filter} [id="MyFilter"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     9            [primitve="blur" ]
     10            [primitve="offsetBlur" [type=OFFSET]  [dx=4.00 dy=4.00]]
     11            [last primitive ]
    912        RenderPath {rect} at (80,110) size 300x180 [stroke={[type=SOLID] [color=#0000FF]}] [fill={[type=SOLID] [color=#888888]}] [data="M1.00,1.00 L199.00,1.00 L199.00,119.00 L1.00,119.00 Z"]
    10         RenderSVGContainer {g} at (80,110) size 300x180 [filter=MyFilter]
     13        RenderSVGContainer {g} at (80,110) size 300x180
     14          [filter="MyFilter"] RenderSVGResourceFilter {filter} at (0,0) size 200x120
    1115          RenderSVGContainer {g} at (69,147) size 322x106
    1216            RenderPath {path} at (69,147) size 322x106 [stroke={[type=SOLID] [color=#D90000] [stroke width=10.00]}] [data="M50.00,90.00 C0.00,90.00,0.00,30.00,50.00,30.00 L150.00,30.00 C200.00,30.00,200.00,90.00,150.00,90.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="null" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    2 KCanvasResource {id="nullreg" [type=FILTER]  [bounding box=at (40.00%,40.00%) size 20.00%x20.00%]}
    31layer at (0,0) size 480x360
    42  RenderView at (0,0) size 480x360
     
    75    RenderSVGContainer {g} at (82,20) size 363x265
    86      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     7        RenderSVGResourceFilter {filter} [id="null"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     8          [last primitive ]
     9        RenderSVGResourceFilter {filter} [id="nullreg"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     10          [last primitive ]
    911      RenderSVGContainer {g} at (90,20) size 80x115
    1012        RenderPath {circle} at (100,30) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M160.00,60.00 L159.94,61.88 L159.76,63.76 L159.47,65.62 L159.06,67.46 L158.53,69.27 L157.89,71.04 L157.14,72.77 L156.29,74.45 L155.33,76.07 L154.27,77.63 L153.12,79.12 L151.87,80.54 L150.54,81.87 L149.12,83.12 L147.63,84.27 L146.07,85.33 L144.45,86.29 L142.77,87.14 L141.04,87.89 L139.27,88.53 L137.46,89.06 L135.62,89.47 L133.76,89.76 L131.88,89.94 L130.00,90.00 L128.12,89.94 L126.24,89.76 L124.38,89.47 L122.54,89.06 L120.73,88.53 L118.96,87.89 L117.23,87.14 L115.55,86.29 L113.93,85.33 L112.37,84.27 L110.88,83.12 L109.46,81.87 L108.13,80.54 L106.88,79.12 L105.73,77.63 L104.67,76.07 L103.71,74.45 L102.86,72.77 L102.11,71.04 L101.47,69.27 L100.94,67.46 L100.53,65.62 L100.24,63.76 L100.06,61.88 L100.00,60.00 L100.06,58.12 L100.24,56.24 L100.53,54.38 L100.94,52.54 L101.47,50.73 L102.11,48.96 L102.86,47.23 L103.71,45.55 L104.67,43.93 L105.73,42.37 L106.88,40.88 L108.13,39.46 L109.46,38.13 L110.88,36.88 L112.37,35.73 L113.93,34.67 L115.55,33.71 L117.23,32.86 L118.96,32.11 L120.73,31.47 L122.54,30.94 L124.38,30.53 L126.24,30.24 L128.12,30.06 L130.00,30.00 L131.88,30.06 L133.76,30.24 L135.62,30.53 L137.46,30.94 L139.27,31.47 L141.04,32.11 L142.77,32.86 L144.45,33.71 L146.07,34.67 L147.63,35.73 L149.12,36.88 L150.54,38.13 L151.87,39.46 L153.12,40.88 L154.27,42.37 L155.33,43.93 L156.29,45.55 L157.14,47.23 L157.89,48.96 L158.53,50.73 L159.06,52.54 L159.47,54.38 L159.76,56.24 L159.94,58.12 Z"]
     
    1517      RenderSVGContainer {g} at (82,162) size 96x123
    1618        RenderPath {circle} at (100,180) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M160.00,210.00 L159.94,211.88 L159.76,213.76 L159.47,215.62 L159.06,217.46 L158.53,219.27 L157.89,221.04 L157.14,222.77 L156.29,224.45 L155.33,226.07 L154.27,227.63 L153.12,229.12 L151.87,230.54 L150.54,231.87 L149.12,233.12 L147.63,234.27 L146.07,235.33 L144.45,236.29 L142.77,237.14 L141.04,237.89 L139.27,238.53 L137.46,239.06 L135.62,239.47 L133.76,239.76 L131.88,239.94 L130.00,240.00 L128.12,239.94 L126.24,239.76 L124.38,239.47 L122.54,239.06 L120.73,238.53 L118.96,237.89 L117.23,237.14 L115.55,236.29 L113.93,235.33 L112.37,234.27 L110.88,233.12 L109.46,231.87 L108.13,230.54 L106.88,229.12 L105.73,227.63 L104.67,226.07 L103.71,224.45 L102.86,222.77 L102.11,221.04 L101.47,219.27 L100.94,217.46 L100.53,215.62 L100.24,213.76 L100.06,211.88 L100.00,210.00 L100.06,208.12 L100.24,206.24 L100.53,204.38 L100.94,202.54 L101.47,200.73 L102.11,198.96 L102.86,197.23 L103.71,195.55 L104.67,193.93 L105.73,192.37 L106.88,190.88 L108.13,189.46 L109.46,188.13 L110.88,186.88 L112.37,185.73 L113.93,184.67 L115.55,183.71 L117.23,182.86 L118.96,182.11 L120.73,181.47 L122.54,180.94 L124.38,180.53 L126.24,180.24 L128.12,180.06 L130.00,180.00 L131.88,180.06 L133.76,180.24 L135.62,180.53 L137.46,180.94 L139.27,181.47 L141.04,182.11 L142.77,182.86 L144.45,183.71 L146.07,184.67 L147.63,185.73 L149.12,186.88 L150.54,188.13 L151.87,189.46 L153.12,190.88 L154.27,192.37 L155.33,193.93 L156.29,195.55 L157.14,197.23 L157.89,198.96 L158.53,200.73 L159.06,202.54 L159.47,204.38 L159.76,206.24 L159.94,208.12 Z"]
    17         RenderPath {circle} at (82,162) size 96x96 [fill={[type=SOLID] [color=#000000]}] [filter=null] [data="M170.00,210.00 L169.92,212.51 L169.68,215.01 L169.29,217.50 L168.74,219.95 L168.04,222.36 L167.19,224.72 L166.19,227.03 L165.05,229.27 L163.77,231.43 L162.36,233.51 L160.82,235.50 L159.16,237.38 L157.38,239.16 L155.50,240.82 L153.51,242.36 L151.43,243.77 L149.27,245.05 L147.03,246.19 L144.72,247.19 L142.36,248.04 L139.95,248.74 L137.50,249.29 L135.01,249.68 L132.51,249.92 L130.00,250.00 L127.49,249.92 L124.99,249.68 L122.50,249.29 L120.05,248.74 L117.64,248.04 L115.28,247.19 L112.97,246.19 L110.73,245.05 L108.57,243.77 L106.49,242.36 L104.50,240.82 L102.62,239.16 L100.84,237.38 L99.18,235.50 L97.64,233.51 L96.23,231.43 L94.95,229.27 L93.81,227.03 L92.81,224.72 L91.96,222.36 L91.26,219.95 L90.71,217.50 L90.32,215.01 L90.08,212.51 L90.00,210.00 L90.08,207.49 L90.32,204.99 L90.71,202.50 L91.26,200.05 L91.96,197.64 L92.81,195.28 L93.81,192.97 L94.95,190.73 L96.23,188.57 L97.64,186.49 L99.18,184.50 L100.84,182.62 L102.62,180.84 L104.50,179.18 L106.49,177.64 L108.57,176.23 L110.73,174.95 L112.97,173.81 L115.28,172.81 L117.64,171.96 L120.05,171.26 L122.50,170.71 L124.99,170.32 L127.49,170.08 L130.00,170.00 L132.51,170.08 L135.01,170.32 L137.50,170.71 L139.95,171.26 L142.36,171.96 L144.72,172.81 L147.03,173.81 L149.27,174.95 L151.43,176.23 L153.51,177.64 L155.50,179.18 L157.38,180.84 L159.16,182.62 L160.82,184.50 L162.36,186.49 L163.77,188.57 L165.05,190.73 L166.19,192.97 L167.19,195.28 L168.04,197.64 L168.74,200.05 L169.29,202.50 L169.68,204.99 L169.92,207.49 Z"]
     19        RenderPath {circle} at (82,162) size 96x96 [fill={[type=SOLID] [color=#000000]}] [data="M170.00,210.00 L169.92,212.51 L169.68,215.01 L169.29,217.50 L168.74,219.95 L168.04,222.36 L167.19,224.72 L166.19,227.03 L165.05,229.27 L163.77,231.43 L162.36,233.51 L160.82,235.50 L159.16,237.38 L157.38,239.16 L155.50,240.82 L153.51,242.36 L151.43,243.77 L149.27,245.05 L147.03,246.19 L144.72,247.19 L142.36,248.04 L139.95,248.74 L137.50,249.29 L135.01,249.68 L132.51,249.92 L130.00,250.00 L127.49,249.92 L124.99,249.68 L122.50,249.29 L120.05,248.74 L117.64,248.04 L115.28,247.19 L112.97,246.19 L110.73,245.05 L108.57,243.77 L106.49,242.36 L104.50,240.82 L102.62,239.16 L100.84,237.38 L99.18,235.50 L97.64,233.51 L96.23,231.43 L94.95,229.27 L93.81,227.03 L92.81,224.72 L91.96,222.36 L91.26,219.95 L90.71,217.50 L90.32,215.01 L90.08,212.51 L90.00,210.00 L90.08,207.49 L90.32,204.99 L90.71,202.50 L91.26,200.05 L91.96,197.64 L92.81,195.28 L93.81,192.97 L94.95,190.73 L96.23,188.57 L97.64,186.49 L99.18,184.50 L100.84,182.62 L102.62,180.84 L104.50,179.18 L106.49,177.64 L108.57,176.23 L110.73,174.95 L112.97,173.81 L115.28,172.81 L117.64,171.96 L120.05,171.26 L122.50,170.71 L124.99,170.32 L127.49,170.08 L130.00,170.00 L132.51,170.08 L135.01,170.32 L137.50,170.71 L139.95,171.26 L142.36,171.96 L144.72,172.81 L147.03,173.81 L149.27,174.95 L151.43,176.23 L153.51,177.64 L155.50,179.18 L157.38,180.84 L159.16,182.62 L160.82,184.50 L162.36,186.49 L163.77,188.57 L165.05,190.73 L166.19,192.97 L167.19,195.28 L168.04,197.64 L168.74,200.05 L169.29,202.50 L169.68,204.99 L169.92,207.49 Z"]
     20          [filter="null"] RenderSVGResourceFilter {filter} at (82,162) size 96x96
    1821        RenderSVGText {text} at (89,280) size 82x23 contains 1 chunk(s)
    1922          RenderSVGInlineText {#text} at (0,-18) size 82x23
     
    2124      RenderSVGContainer {g} at (254,20) size 152x115
    2225        RenderPath {circle} at (300,30) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M360.00,60.00 L359.94,61.88 L359.76,63.76 L359.47,65.62 L359.06,67.46 L358.53,69.27 L357.89,71.04 L357.14,72.77 L356.29,74.45 L355.33,76.07 L354.27,77.63 L353.12,79.12 L351.87,80.54 L350.54,81.87 L349.12,83.12 L347.63,84.27 L346.07,85.33 L344.45,86.29 L342.77,87.14 L341.04,87.89 L339.27,88.53 L337.46,89.06 L335.62,89.47 L333.76,89.76 L331.88,89.94 L330.00,90.00 L328.12,89.94 L326.24,89.76 L324.38,89.47 L322.54,89.06 L320.73,88.53 L318.96,87.89 L317.23,87.14 L315.55,86.29 L313.93,85.33 L312.37,84.27 L310.88,83.12 L309.46,81.87 L308.13,80.54 L306.88,79.12 L305.73,77.63 L304.67,76.07 L303.71,74.45 L302.86,72.77 L302.11,71.04 L301.47,69.27 L300.94,67.46 L300.53,65.62 L300.24,63.76 L300.06,61.88 L300.00,60.00 L300.06,58.12 L300.24,56.24 L300.53,54.38 L300.94,52.54 L301.47,50.73 L302.11,48.96 L302.86,47.23 L303.71,45.55 L304.67,43.93 L305.73,42.37 L306.88,40.88 L308.13,39.46 L309.46,38.13 L310.88,36.88 L312.37,35.73 L313.93,34.67 L315.55,33.71 L317.23,32.86 L318.96,32.11 L320.73,31.47 L322.54,30.94 L324.38,30.53 L326.24,30.24 L328.12,30.06 L330.00,30.00 L331.88,30.06 L333.76,30.24 L335.62,30.53 L337.46,30.94 L339.27,31.47 L341.04,32.11 L342.77,32.86 L344.45,33.71 L346.07,34.67 L347.63,35.73 L349.12,36.88 L350.54,38.13 L351.87,39.46 L353.12,40.88 L354.27,42.37 L355.33,43.93 L356.29,45.55 L357.14,47.23 L357.89,48.96 L358.53,50.73 L359.06,52.54 L359.47,54.38 L359.76,56.24 L359.94,58.12 Z"]
    23         RenderPath {circle} at (290,20) size 80x80 [fill={[type=SOLID] [color=#000000]}] [filter=notthere] [data="M370.00,60.00 L369.92,62.51 L369.68,65.01 L369.29,67.50 L368.74,69.95 L368.04,72.36 L367.19,74.72 L366.19,77.03 L365.05,79.27 L363.77,81.43 L362.36,83.51 L360.82,85.50 L359.16,87.38 L357.38,89.16 L355.50,90.82 L353.51,92.36 L351.43,93.77 L349.27,95.05 L347.03,96.19 L344.72,97.19 L342.36,98.04 L339.95,98.74 L337.50,99.29 L335.01,99.68 L332.51,99.92 L330.00,100.00 L327.49,99.92 L324.99,99.68 L322.50,99.29 L320.05,98.74 L317.64,98.04 L315.28,97.19 L312.97,96.19 L310.73,95.05 L308.57,93.77 L306.49,92.36 L304.50,90.82 L302.62,89.16 L300.84,87.38 L299.18,85.50 L297.64,83.51 L296.23,81.43 L294.95,79.27 L293.81,77.03 L292.81,74.72 L291.96,72.36 L291.26,69.95 L290.71,67.50 L290.32,65.01 L290.08,62.51 L290.00,60.00 L290.08,57.49 L290.32,54.99 L290.71,52.50 L291.26,50.05 L291.96,47.64 L292.81,45.28 L293.81,42.97 L294.95,40.73 L296.23,38.57 L297.64,36.49 L299.18,34.50 L300.84,32.62 L302.62,30.84 L304.50,29.18 L306.49,27.64 L308.57,26.23 L310.73,24.95 L312.97,23.81 L315.28,22.81 L317.64,21.96 L320.05,21.26 L322.50,20.71 L324.99,20.32 L327.49,20.08 L330.00,20.00 L332.51,20.08 L335.01,20.32 L337.50,20.71 L339.95,21.26 L342.36,21.96 L344.72,22.81 L347.03,23.81 L349.27,24.95 L351.43,26.23 L353.51,27.64 L355.50,29.18 L357.38,30.84 L359.16,32.62 L360.82,34.50 L362.36,36.49 L363.77,38.57 L365.05,40.73 L366.19,42.97 L367.19,45.28 L368.04,47.64 L368.74,50.05 L369.29,52.50 L369.68,54.99 L369.92,57.49 Z"]
     26        RenderPath {circle} at (290,20) size 80x80 [fill={[type=SOLID] [color=#000000]}] [data="M370.00,60.00 L369.92,62.51 L369.68,65.01 L369.29,67.50 L368.74,69.95 L368.04,72.36 L367.19,74.72 L366.19,77.03 L365.05,79.27 L363.77,81.43 L362.36,83.51 L360.82,85.50 L359.16,87.38 L357.38,89.16 L355.50,90.82 L353.51,92.36 L351.43,93.77 L349.27,95.05 L347.03,96.19 L344.72,97.19 L342.36,98.04 L339.95,98.74 L337.50,99.29 L335.01,99.68 L332.51,99.92 L330.00,100.00 L327.49,99.92 L324.99,99.68 L322.50,99.29 L320.05,98.74 L317.64,98.04 L315.28,97.19 L312.97,96.19 L310.73,95.05 L308.57,93.77 L306.49,92.36 L304.50,90.82 L302.62,89.16 L300.84,87.38 L299.18,85.50 L297.64,83.51 L296.23,81.43 L294.95,79.27 L293.81,77.03 L292.81,74.72 L291.96,72.36 L291.26,69.95 L290.71,67.50 L290.32,65.01 L290.08,62.51 L290.00,60.00 L290.08,57.49 L290.32,54.99 L290.71,52.50 L291.26,50.05 L291.96,47.64 L292.81,45.28 L293.81,42.97 L294.95,40.73 L296.23,38.57 L297.64,36.49 L299.18,34.50 L300.84,32.62 L302.62,30.84 L304.50,29.18 L306.49,27.64 L308.57,26.23 L310.73,24.95 L312.97,23.81 L315.28,22.81 L317.64,21.96 L320.05,21.26 L322.50,20.71 L324.99,20.32 L327.49,20.08 L330.00,20.00 L332.51,20.08 L335.01,20.32 L337.50,20.71 L339.95,21.26 L342.36,21.96 L344.72,22.81 L347.03,23.81 L349.27,24.95 L351.43,26.23 L353.51,27.64 L355.50,29.18 L357.38,30.84 L359.16,32.62 L360.82,34.50 L362.36,36.49 L363.77,38.57 L365.05,40.73 L366.19,42.97 L367.19,45.28 L368.04,47.64 L368.74,50.05 L369.29,52.50 L369.68,54.99 L369.92,57.49 Z"]
    2427        RenderSVGText {text} at (254,130) size 152x23 contains 1 chunk(s)
    2528          RenderSVGInlineText {#text} at (0,-18) size 152x23
     
    2730      RenderSVGContainer {g} at (215,180) size 230x105
    2831        RenderPath {circle} at (300,180) size 60x60 [fill={[type=SOLID] [color=#FF0000]}] [data="M360.00,210.00 L359.94,211.88 L359.76,213.76 L359.47,215.62 L359.06,217.46 L358.53,219.27 L357.89,221.04 L357.14,222.77 L356.29,224.45 L355.33,226.07 L354.27,227.63 L353.12,229.12 L351.87,230.54 L350.54,231.87 L349.12,233.12 L347.63,234.27 L346.07,235.33 L344.45,236.29 L342.77,237.14 L341.04,237.89 L339.27,238.53 L337.46,239.06 L335.62,239.47 L333.76,239.76 L331.88,239.94 L330.00,240.00 L328.12,239.94 L326.24,239.76 L324.38,239.47 L322.54,239.06 L320.73,238.53 L318.96,237.89 L317.23,237.14 L315.55,236.29 L313.93,235.33 L312.37,234.27 L310.88,233.12 L309.46,231.87 L308.13,230.54 L306.88,229.12 L305.73,227.63 L304.67,226.07 L303.71,224.45 L302.86,222.77 L302.11,221.04 L301.47,219.27 L300.94,217.46 L300.53,215.62 L300.24,213.76 L300.06,211.88 L300.00,210.00 L300.06,208.12 L300.24,206.24 L300.53,204.38 L300.94,202.54 L301.47,200.73 L302.11,198.96 L302.86,197.23 L303.71,195.55 L304.67,193.93 L305.73,192.37 L306.88,190.88 L308.13,189.46 L309.46,188.13 L310.88,186.88 L312.37,185.73 L313.93,184.67 L315.55,183.71 L317.23,182.86 L318.96,182.11 L320.73,181.47 L322.54,180.94 L324.38,180.53 L326.24,180.24 L328.12,180.06 L330.00,180.00 L331.88,180.06 L333.76,180.24 L335.62,180.53 L337.46,180.94 L339.27,181.47 L341.04,182.11 L342.77,182.86 L344.45,183.71 L346.07,184.67 L347.63,185.73 L349.12,186.88 L350.54,188.13 L351.87,189.46 L353.12,190.88 L354.27,192.37 L355.33,193.93 L356.29,195.55 L357.14,197.23 L357.89,198.96 L358.53,200.73 L359.06,202.54 L359.47,204.38 L359.76,206.24 L359.94,208.12 Z"]
    29         RenderPath {circle} at (322,202) size 16x16 [fill={[type=SOLID] [color=#000000]}] [filter=nullreg] [data="M370.00,210.00 L369.92,212.51 L369.68,215.01 L369.29,217.50 L368.74,219.95 L368.04,222.36 L367.19,224.72 L366.19,227.03 L365.05,229.27 L363.77,231.43 L362.36,233.51 L360.82,235.50 L359.16,237.38 L357.38,239.16 L355.50,240.82 L353.51,242.36 L351.43,243.77 L349.27,245.05 L347.03,246.19 L344.72,247.19 L342.36,248.04 L339.95,248.74 L337.50,249.29 L335.01,249.68 L332.51,249.92 L330.00,250.00 L327.49,249.92 L324.99,249.68 L322.50,249.29 L320.05,248.74 L317.64,248.04 L315.28,247.19 L312.97,246.19 L310.73,245.05 L308.57,243.77 L306.49,242.36 L304.50,240.82 L302.62,239.16 L300.84,237.38 L299.18,235.50 L297.64,233.51 L296.23,231.43 L294.95,229.27 L293.81,227.03 L292.81,224.72 L291.96,222.36 L291.26,219.95 L290.71,217.50 L290.32,215.01 L290.08,212.51 L290.00,210.00 L290.08,207.49 L290.32,204.99 L290.71,202.50 L291.26,200.05 L291.96,197.64 L292.81,195.28 L293.81,192.97 L294.95,190.73 L296.23,188.57 L297.64,186.49 L299.18,184.50 L300.84,182.62 L302.62,180.84 L304.50,179.18 L306.49,177.64 L308.57,176.23 L310.73,174.95 L312.97,173.81 L315.28,172.81 L317.64,171.96 L320.05,171.26 L322.50,170.71 L324.99,170.32 L327.49,170.08 L330.00,170.00 L332.51,170.08 L335.01,170.32 L337.50,170.71 L339.95,171.26 L342.36,171.96 L344.72,172.81 L347.03,173.81 L349.27,174.95 L351.43,176.23 L353.51,177.64 L355.50,179.18 L357.38,180.84 L359.16,182.62 L360.82,184.50 L362.36,186.49 L363.77,188.57 L365.05,190.73 L366.19,192.97 L367.19,195.28 L368.04,197.64 L368.74,200.05 L369.29,202.50 L369.68,204.99 L369.92,207.49 Z"]
     32        RenderPath {circle} at (322,202) size 16x16 [fill={[type=SOLID] [color=#000000]}] [data="M370.00,210.00 L369.92,212.51 L369.68,215.01 L369.29,217.50 L368.74,219.95 L368.04,222.36 L367.19,224.72 L366.19,227.03 L365.05,229.27 L363.77,231.43 L362.36,233.51 L360.82,235.50 L359.16,237.38 L357.38,239.16 L355.50,240.82 L353.51,242.36 L351.43,243.77 L349.27,245.05 L347.03,246.19 L344.72,247.19 L342.36,248.04 L339.95,248.74 L337.50,249.29 L335.01,249.68 L332.51,249.92 L330.00,250.00 L327.49,249.92 L324.99,249.68 L322.50,249.29 L320.05,248.74 L317.64,248.04 L315.28,247.19 L312.97,246.19 L310.73,245.05 L308.57,243.77 L306.49,242.36 L304.50,240.82 L302.62,239.16 L300.84,237.38 L299.18,235.50 L297.64,233.51 L296.23,231.43 L294.95,229.27 L293.81,227.03 L292.81,224.72 L291.96,222.36 L291.26,219.95 L290.71,217.50 L290.32,215.01 L290.08,212.51 L290.00,210.00 L290.08,207.49 L290.32,204.99 L290.71,202.50 L291.26,200.05 L291.96,197.64 L292.81,195.28 L293.81,192.97 L294.95,190.73 L296.23,188.57 L297.64,186.49 L299.18,184.50 L300.84,182.62 L302.62,180.84 L304.50,179.18 L306.49,177.64 L308.57,176.23 L310.73,174.95 L312.97,173.81 L315.28,172.81 L317.64,171.96 L320.05,171.26 L322.50,170.71 L324.99,170.32 L327.49,170.08 L330.00,170.00 L332.51,170.08 L335.01,170.32 L337.50,170.71 L339.95,171.26 L342.36,171.96 L344.72,172.81 L347.03,173.81 L349.27,174.95 L351.43,176.23 L353.51,177.64 L355.50,179.18 L357.38,180.84 L359.16,182.62 L360.82,184.50 L362.36,186.49 L363.77,188.57 L365.05,190.73 L366.19,192.97 L367.19,195.28 L368.04,197.64 L368.74,200.05 L369.29,202.50 L369.68,204.99 L369.92,207.49 Z"]
     33          [filter="nullreg"] RenderSVGResourceFilter {filter} at (322,202) size 16x16
    3034        RenderSVGText {text} at (215,280) size 230x23 contains 1 chunk(s)
    3135          RenderSVGInlineText {#text} at (0,-18) size 230x23
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="blur" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    2 KCanvasResource {id="blurxy" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    31layer at (0,0) size 480x360
    42  RenderView at (0,0) size 480x360
     
    1311          RenderPath {rect} at (0,0) size 136x136 [stroke={[type=SOLID] [color=#0000FF] [stroke width=0.50]}] [data="M0.00,0.00 L135.00,0.00 L135.00,135.00 L0.00,135.00 Z"]
    1412          RenderPath {rect} at (0,0) size 149x149 [stroke={[type=SOLID] [color=#0000FF] [stroke width=0.50]}] [data="M-13.50,-13.50 L148.50,-13.50 L148.50,148.50 L-13.50,148.50 Z"]
     13        RenderSVGResourceFilter {filter} [id="blur"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     14          [last primitive ]
     15        RenderSVGResourceFilter {filter} [id="blurxy"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     16          [last primitive ]
    1517      RenderSVGContainer {use} at (0,0) size 135x135
    1618        RenderSVGContainer {g} at (0,0) size 135x135
     
    1921            RenderPath {rect} at (45,45) size 90x90 [fill={[type=SOLID] [color=#FFFF00]}] [data="M45.00,45.00 L135.00,45.00 L135.00,135.00 L45.00,135.00 Z"]
    2022      RenderSVGContainer {g} at (296,1) size 163x163 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,15.00)}]
    21         RenderSVGContainer {use} at (296,1) size 163x163 [filter=blur]
     23        RenderSVGContainer {use} at (296,1) size 163x163
     24          [filter="blur"] RenderSVGResourceFilter {filter} at (-13.50,-13.50) size 162x162
    2225          RenderSVGContainer {g} at (310,15) size 135x135
    2326            RenderSVGContainer {g} at (310,15) size 135x135
     
    3033              RenderPath {rect} at (296,1) size 163x163 [stroke={[type=SOLID] [color=#0000FF] [stroke width=0.50]}] [data="M-13.50,-13.50 L148.50,-13.50 L148.50,148.50 L-13.50,148.50 Z"]
    3134      RenderSVGContainer {g} at (296,186) size 163x163 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,200.00)}]
    32         RenderSVGContainer {use} at (296,186) size 163x163 [filter=blurxy]
     35        RenderSVGContainer {use} at (296,186) size 163x163
     36          [filter="blurxy"] RenderSVGResourceFilter {filter} at (-13.50,-13.50) size 162x162
    3337          RenderSVGContainer {g} at (310,200) size 135x135
    3438            RenderSVGContainer {g} at (310,200) size 135x135
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="image" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 480x360
    32  RenderView at (0,0) size 480x360
     
    65    RenderSVGContainer {g} at (0,0) size 480x360
    76      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     7        RenderSVGResourceFilter {filter} [id="image"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     8          [last primitive [type=IMAGE] ]
    89      RenderSVGText {text} at (147,20) size 186x14 contains 1 chunk(s)
    910        RenderSVGInlineText {#text} at (0,-11) size 186x14
    1011          chunk 1 (middle anchor) text run 1 at (147.50,20.00) startOffset 0 endOffset 37 width 185.00: "Basic test of feImage filter support."
    11       RenderPath {rect} at (0,0) size 480x360 [fill={[type=SOLID] [color=#000000]}] [filter=image] [data="M0.00,0.00 L480.00,0.00 L480.00,360.00 L0.00,360.00 Z"]
     12      RenderPath {rect} at (0,0) size 480x360 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L480.00,0.00 L480.00,360.00 L0.00,360.00 Z"]
     13        [filter="image"] RenderSVGResourceFilter {filter} at (-48,-36) size 576x432
    1214    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    1315      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="distantLightA" [type=FILTER] }
    2 KCanvasResource {id="distantLightB" [type=FILTER] }
    3 KCanvasResource {id="distantLightC" [type=FILTER] }
    4 KCanvasResource {id="distantLightD" [type=FILTER] }
    5 KCanvasResource {id="pointLightA" [type=FILTER] }
    6 KCanvasResource {id="pointLightB" [type=FILTER] }
    7 KCanvasResource {id="pointLightC" [type=FILTER] }
    8 KCanvasResource {id="pointLightD" [type=FILTER] }
    9 KCanvasResource {id="spotLightA" [type=FILTER] }
    10 KCanvasResource {id="spotLightB" [type=FILTER] }
    11 KCanvasResource {id="spotLightC" [type=FILTER] }
    12 KCanvasResource {id="spotLightD" [type=FILTER] }
    131layer at (0,0) size 480x360
    142  RenderView at (0,0) size 480x360
     
    208          chunk 1 (middle anchor) text run 1 at (113.50,20.00) startOffset 0 endOffset 50 width 253.00: "Filters: feDistantLight, fePointLight, feSpotLight"
    219      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     10        RenderSVGResourceFilter {filter} [id="distantLightA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     12        RenderSVGResourceFilter {filter} [id="distantLightB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     14        RenderSVGResourceFilter {filter} [id="distantLightC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     16        RenderSVGResourceFilter {filter} [id="distantLightD"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     18        RenderSVGResourceFilter {filter} [id="pointLightA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     20        RenderSVGResourceFilter {filter} [id="pointLightB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     21          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     22        RenderSVGResourceFilter {filter} [id="pointLightC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     23          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     24        RenderSVGResourceFilter {filter} [id="pointLightD"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     25          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     26        RenderSVGResourceFilter {filter} [id="spotLightA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     27          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     28        RenderSVGResourceFilter {filter} [id="spotLightB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     29          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     30        RenderSVGResourceFilter {filter} [id="spotLightC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     31          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
     32        RenderSVGResourceFilter {filter} [id="spotLightD"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     33          [last primitive [type=DIFFUSE-LIGHTING]  [surface scale=10.00] [diffuse constant=1.00] [kernel unit length 0.00, 0.00]]
    2234      RenderSVGContainer {g} at (70,36) size 353x64 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,40.00)}]
    2335        RenderSVGText {text} at (70,10) size 353x18 contains 1 chunk(s)
     
    3648          RenderSVGInlineText {#text} at (0,-14) size 50x18
    3749            chunk 1 text run 1 at (355.00,25.00) startOffset 0 endOffset 8 width 50.00: "(45, 45)"
    38         RenderSVGImage {image} at (70,70) size 50x30 [filter=distantLightA]
    39         RenderSVGImage {image} at (165,70) size 50x30 [filter=distantLightB]
    40         RenderSVGImage {image} at (260,70) size 50x30 [filter=distantLightC]
    41         RenderSVGImage {image} at (355,70) size 50x30 [filter=distantLightD]
     50        RenderSVGImage {image} at (70,70) size 50x30
     51          [filter="distantLightA"] RenderSVGResourceFilter {filter} at (70,30) size 50x30
     52        RenderSVGImage {image} at (165,70) size 50x30
     53          [filter="distantLightB"] RenderSVGResourceFilter {filter} at (165,30) size 50x30
     54        RenderSVGImage {image} at (260,70) size 50x30
     55          [filter="distantLightC"] RenderSVGResourceFilter {filter} at (260,30) size 50x30
     56        RenderSVGImage {image} at (355,70) size 50x30
     57          [filter="distantLightD"] RenderSVGResourceFilter {filter} at (355,30) size 50x30
    4258      RenderSVGContainer {g} at (70,116) size 359x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
    4359        RenderSVGText {text} at (70,10) size 274x18 contains 1 chunk(s)
     
    5773            chunk 1 text run 1 at (355.00,25.00) startOffset 0 endOffset 12 width 74.00: "(50, 30, 10)"
    5874      RenderSVGContainer {g} at (70,150) size 335x30
    59         RenderSVGImage {image} at (70,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,150.00)}] [filter=pointLightA]
    60         RenderSVGImage {image} at (165,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,150.00)}] [filter=pointLightB]
    61         RenderSVGImage {image} at (260,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,150.00)}] [filter=pointLightC]
    62         RenderSVGImage {image} at (355,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,150.00)}] [filter=pointLightD]
     75        RenderSVGImage {image} at (70,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,150.00)}]
     76          [filter="pointLightA"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
     77        RenderSVGImage {image} at (165,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,150.00)}]
     78          [filter="pointLightB"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
     79        RenderSVGImage {image} at (260,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,150.00)}]
     80          [filter="pointLightC"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
     81        RenderSVGImage {image} at (355,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,150.00)}]
     82          [filter="pointLightD"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
    6383      RenderSVGContainer {g} at (70,196) size 410x48 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,210.00)}]
    6484        RenderSVGText {text} at (70,0) size 467x18 contains 1 chunk(s)
     
    84104            chunk 1 text run 1 at (355.00,30.00) startOffset 0 endOffset 20 width 146.00: "limitingConeAngle=30"
    85105      RenderSVGContainer {g} at (70,245) size 335x30
    86         RenderPath {rect} at (70,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=spotLightA] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
    87         RenderPath {rect} at (165,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=spotLightB] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
    88         RenderPath {rect} at (260,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=spotLightC] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
    89         RenderPath {rect} at (355,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [filter=spotLightD] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
     106        RenderPath {rect} at (70,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
     107          [filter="spotLightA"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
     108        RenderPath {rect} at (165,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
     109          [filter="spotLightB"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
     110        RenderPath {rect} at (260,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
     111          [filter="spotLightC"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
     112        RenderPath {rect} at (355,245) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(355.00,245.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,30.00 L0.00,30.00 Z"]
     113          [filter="spotLightD"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
    90114    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    91115      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="erode1" [type=FILTER] }
    2 KCanvasResource {id="erode2" [type=FILTER] }
    3 KCanvasResource {id="dilate1" [type=FILTER] }
    4 KCanvasResource {id="dilate2" [type=FILTER] }
    51layer at (0,0) size 480x360
    62  RenderView at (0,0) size 480x360
     
    139      RenderSVGContainer {g} at (38,22) size 394x272 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-6.00)}]
    1410        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     11          RenderSVGResourceFilter {filter} [id="erode1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     12            [last primitive [type=MORPHOLOGY]  [operator type=ERODE] [radius x=1.00 y=1.00]]
     13          RenderSVGResourceFilter {filter} [id="erode2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     14            [last primitive [type=MORPHOLOGY]  [operator type=ERODE] [radius x=2.00 y=2.00]]
     15          RenderSVGResourceFilter {filter} [id="dilate1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     16            [last primitive [type=MORPHOLOGY]  [operator type=DILATE] [radius x=1.00 y=1.00]]
     17          RenderSVGResourceFilter {filter} [id="dilate2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     18            [last primitive [type=MORPHOLOGY]  [operator type=DILATE] [radius x=3.00 y=3.00]]
    1519          RenderSVGContainer {g} at (0,0) size 149x118
    1620            RenderSVGContainer {g} at (0,0) size 149x118
     
    2226        RenderSVGContainer {g} at (38,22) size 394x272
    2327          RenderSVGContainer {g} at (38,22) size 139x132
    24             RenderSVGContainer {use} at (38,22) size 139x117 [filter=erode1]
     28            RenderSVGContainer {use} at (38,22) size 139x117
     29              [filter="erode1"] RenderSVGResourceFilter {filter} at (38.58,28.58) size 137.73x116.11
    2530              RenderSVGContainer {g} at (34,18) size 150x125 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,25.00)}]
    2631                RenderSVGContainer {g} at (34,18) size 150x125
     
    3540                chunk 1 (middle anchor) text run 1 at (45.00,156.00) startOffset 0 endOffset 19 width 130.00: "type=erode radius=1"
    3641          RenderSVGContainer {g} at (293,22) size 139x132 [transform={m=((1.00,0.00)(0.00,1.00)) t=(255.00,0.00)}]
    37             RenderSVGContainer {use} at (293,22) size 139x117 [filter=erode2]
     42            RenderSVGContainer {use} at (293,22) size 139x117
     43              [filter="erode2"] RenderSVGResourceFilter {filter} at (38.58,28.58) size 137.73x116.11
    3844              RenderSVGContainer {g} at (289,18) size 150x125 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,25.00)}]
    3945                RenderSVGContainer {g} at (289,18) size 150x125
     
    4854                chunk 1 (middle anchor) text run 1 at (45.00,156.00) startOffset 0 endOffset 19 width 130.00: "type=erode radius=2"
    4955          RenderSVGContainer {g} at (38,162) size 139x132 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,140.00)}]
    50             RenderSVGContainer {use} at (38,162) size 139x117 [filter=dilate1]
     56            RenderSVGContainer {use} at (38,162) size 139x117
     57              [filter="dilate1"] RenderSVGResourceFilter {filter} at (38.58,28.58) size 137.73x116.11
    5158              RenderSVGContainer {g} at (34,158) size 150x125 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,25.00)}]
    5259                RenderSVGContainer {g} at (34,158) size 150x125
     
    6168                chunk 1 (middle anchor) text run 1 at (45.50,156.00) startOffset 0 endOffset 20 width 129.00: "type=dilate radius=1"
    6269          RenderSVGContainer {g} at (293,162) size 139x132 [transform={m=((1.00,0.00)(0.00,1.00)) t=(255.00,140.00)}]
    63             RenderSVGContainer {use} at (293,162) size 139x117 [filter=dilate2]
     70            RenderSVGContainer {use} at (293,162) size 139x117
     71              [filter="dilate2"] RenderSVGResourceFilter {filter} at (38.58,28.58) size 137.73x116.11
    6472              RenderSVGContainer {g} at (289,158) size 150x125 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,25.00)}]
    6573                RenderSVGContainer {g} at (289,158) size 150x125
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="FOMTest" [type=FILTER]  [bounding box=at (0.00%,0.00%) size 250.00%x400.00%]}
    21layer at (0,0) size 480x360
    32  RenderView at (0,0) size 480x360
     
    65    RenderSVGContainer {g} at (109,10) size 211x320
    76      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    8       RenderPath {circle} at (120,10) size 200x320 [fill={[type=SOLID] [color=#000000]}] [filter=FOMTest] [data="M200.00,50.00 L199.92,52.51 L199.68,55.01 L199.29,57.50 L198.74,59.95 L198.04,62.36 L197.19,64.72 L196.19,67.03 L195.05,69.27 L193.77,71.43 L192.36,73.51 L190.82,75.50 L189.16,77.38 L187.38,79.16 L185.50,80.82 L183.51,82.36 L181.43,83.77 L179.27,85.05 L177.03,86.19 L174.72,87.19 L172.36,88.04 L169.95,88.74 L167.50,89.29 L165.01,89.68 L162.51,89.92 L160.00,90.00 L157.49,89.92 L154.99,89.68 L152.50,89.29 L150.05,88.74 L147.64,88.04 L145.28,87.19 L142.97,86.19 L140.73,85.05 L138.57,83.77 L136.49,82.36 L134.50,80.82 L132.62,79.16 L130.84,77.38 L129.18,75.50 L127.64,73.51 L126.23,71.43 L124.95,69.27 L123.81,67.03 L122.81,64.72 L121.96,62.36 L121.26,59.95 L120.71,57.50 L120.32,55.01 L120.08,52.51 L120.00,50.00 L120.08,47.49 L120.32,44.99 L120.71,42.50 L121.26,40.05 L121.96,37.64 L122.81,35.28 L123.81,32.97 L124.95,30.73 L126.23,28.57 L127.64,26.49 L129.18,24.50 L130.84,22.62 L132.62,20.84 L134.50,19.18 L136.49,17.64 L138.57,16.23 L140.73,14.95 L142.97,13.81 L145.28,12.81 L147.64,11.96 L150.05,11.26 L152.50,10.71 L154.99,10.32 L157.49,10.08 L160.00,10.00 L162.51,10.08 L165.01,10.32 L167.50,10.71 L169.95,11.26 L172.36,11.96 L174.72,12.81 L177.03,13.81 L179.27,14.95 L181.43,16.23 L183.51,17.64 L185.50,19.18 L187.38,20.84 L189.16,22.62 L190.82,24.50 L192.36,26.49 L193.77,28.57 L195.05,30.73 L196.19,32.97 L197.19,35.28 L198.04,37.64 L198.74,40.05 L199.29,42.50 L199.68,44.99 L199.92,47.49 Z"]
     7        RenderSVGResourceFilter {filter} [id="FOMTest"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     8          [primitve="C1" ]
     9          [primitve="C2" ]
     10          [primitve="F3" [type=FLOOD]  [color=#408000] [opacity=0.40]]
     11          [primitve="Off1" [type=OFFSET]  [dx=40.00 dy=30.00]]
     12          [primitve="F2" [type=FLOOD]  [color=#408000] [opacity=0.60]]
     13          [primitve="Off3" [type=OFFSET]  [dx=120.00 dy=90.00]]
     14          [primitve="C3" ]
     15          [primitve="Off2" [type=OFFSET]  [dx=80.00 dy=60.00]]
     16          [primitve="F1" [type=FLOOD]  [color=#408000] [opacity=0.80]]
     17          [last primitive [type=MERGE] [merge inputs=[1, 1, 1, 1]]]
     18      RenderPath {circle} at (120,10) size 200x320 [fill={[type=SOLID] [color=#000000]}] [data="M200.00,50.00 L199.92,52.51 L199.68,55.01 L199.29,57.50 L198.74,59.95 L198.04,62.36 L197.19,64.72 L196.19,67.03 L195.05,69.27 L193.77,71.43 L192.36,73.51 L190.82,75.50 L189.16,77.38 L187.38,79.16 L185.50,80.82 L183.51,82.36 L181.43,83.77 L179.27,85.05 L177.03,86.19 L174.72,87.19 L172.36,88.04 L169.95,88.74 L167.50,89.29 L165.01,89.68 L162.51,89.92 L160.00,90.00 L157.49,89.92 L154.99,89.68 L152.50,89.29 L150.05,88.74 L147.64,88.04 L145.28,87.19 L142.97,86.19 L140.73,85.05 L138.57,83.77 L136.49,82.36 L134.50,80.82 L132.62,79.16 L130.84,77.38 L129.18,75.50 L127.64,73.51 L126.23,71.43 L124.95,69.27 L123.81,67.03 L122.81,64.72 L121.96,62.36 L121.26,59.95 L120.71,57.50 L120.32,55.01 L120.08,52.51 L120.00,50.00 L120.08,47.49 L120.32,44.99 L120.71,42.50 L121.26,40.05 L121.96,37.64 L122.81,35.28 L123.81,32.97 L124.95,30.73 L126.23,28.57 L127.64,26.49 L129.18,24.50 L130.84,22.62 L132.62,20.84 L134.50,19.18 L136.49,17.64 L138.57,16.23 L140.73,14.95 L142.97,13.81 L145.28,12.81 L147.64,11.96 L150.05,11.26 L152.50,10.71 L154.99,10.32 L157.49,10.08 L160.00,10.00 L162.51,10.08 L165.01,10.32 L167.50,10.71 L169.95,11.26 L172.36,11.96 L174.72,12.81 L177.03,13.81 L179.27,14.95 L181.43,16.23 L183.51,17.64 L185.50,19.18 L187.38,20.84 L189.16,22.62 L190.82,24.50 L192.36,26.49 L193.77,28.57 L195.05,30.73 L196.19,32.97 L197.19,35.28 L198.04,37.64 L198.74,40.05 L199.29,42.50 L199.68,44.99 L199.92,47.49 Z"]
     19        [filter="FOMTest"] RenderSVGResourceFilter {filter} at (120,10) size 200x320
    920      RenderPath {path} at (109,79) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,90.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M-1.00,-11.00 L1.00,-11.00 L1.00,-1.00 L11.00,-1.00 L11.00,1.00 L1.00,1.00 L1.00,11.00 L-1.00,11.00 L-1.00,1.00 L-11.00,1.00 L-11.00,-1.00 L-1.00,-1.00 L-1.00,-11.00"]
    1021      RenderPath {path} at (149,109) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(160.00,120.00)}] [fill={[type=SOLID] [color=#408000] [opacity=0.80]}] [data="M-1.00,-11.00 L1.00,-11.00 L1.00,-1.00 L11.00,-1.00 L11.00,1.00 L1.00,1.00 L1.00,11.00 L-1.00,11.00 L-1.00,1.00 L-11.00,1.00 L-11.00,-1.00 L-1.00,-1.00 L-1.00,-11.00"]
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="surfaceScaleA" [type=FILTER] }
    2 KCanvasResource {id="surfaceScaleB" [type=FILTER] }
    3 KCanvasResource {id="surfaceScaleC" [type=FILTER] }
    4 KCanvasResource {id="specularConstantA" [type=FILTER] }
    5 KCanvasResource {id="specularConstantB" [type=FILTER] }
    6 KCanvasResource {id="specularConstantC" [type=FILTER] }
    7 KCanvasResource {id="specularExponentA" [type=FILTER] }
    8 KCanvasResource {id="specularExponentB" [type=FILTER] }
    9 KCanvasResource {id="specularExponentC" [type=FILTER] }
    10 KCanvasResource {id="lightingColorA" [type=FILTER] }
    11 KCanvasResource {id="lightingColorB" [type=FILTER] }
    12 KCanvasResource {id="lightingColorC" [type=FILTER] }
    131layer at (0,0) size 480x360
    142  RenderView at (0,0) size 480x360
     
    208          chunk 1 (middle anchor) text run 1 at (169.00,20.00) startOffset 0 endOffset 27 width 142.00: "Filters: feSpecularLighting"
    219      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     10        RenderSVGResourceFilter {filter} [id="surfaceScaleA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=1.00] [specual constant=1.00] [specular exponent=1.00]]
     12        RenderSVGResourceFilter {filter} [id="surfaceScaleB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]
     14        RenderSVGResourceFilter {filter} [id="surfaceScaleC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=-10.00] [specual constant=1.00] [specular exponent=1.00]]
     16        RenderSVGResourceFilter {filter} [id="specularConstantA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=0.00] [specular exponent=1.00]]
     18        RenderSVGResourceFilter {filter} [id="specularConstantB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]
     20        RenderSVGResourceFilter {filter} [id="specularConstantC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     21          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=2.00] [specular exponent=1.00]]
     22        RenderSVGResourceFilter {filter} [id="specularExponentA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     23          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]
     24        RenderSVGResourceFilter {filter} [id="specularExponentB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     25          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=2.00]]
     26        RenderSVGResourceFilter {filter} [id="specularExponentC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     27          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=4.00]]
     28        RenderSVGResourceFilter {filter} [id="lightingColorA"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     29          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]
     30        RenderSVGResourceFilter {filter} [id="lightingColorB"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     31          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]
     32        RenderSVGResourceFilter {filter} [id="lightingColorC"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     33          [last primitive [type=SPECULAR-LIGHTING]  [surface scale=10.00] [specual constant=1.00] [specular exponent=1.00]]
    2234      RenderSVGContainer {g} at (90,31) size 291x49 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,20.00)}]
    2335        RenderSVGText {text} at (90,25) size 291x18 contains 1 chunk(s)
     
    2840          RenderPath {rect} at (205,50) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00 L255.00,30.00 L255.00,60.00 L205.00,60.00 Z"]
    2941          RenderPath {rect} at (320,50) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M320.00,30.00 L370.00,30.00 L370.00,60.00 L320.00,60.00 Z"]
    30         RenderSVGImage {image} at (90,50) size 50x30 [filter=surfaceScaleA]
    31         RenderSVGImage {image} at (205,50) size 50x30 [filter=surfaceScaleB]
    32         RenderSVGImage {image} at (320,50) size 50x30 [filter=surfaceScaleC]
     42        RenderSVGImage {image} at (90,50) size 50x30
     43          [filter="surfaceScaleA"] RenderSVGResourceFilter {filter} at (90,30) size 50x30
     44        RenderSVGImage {image} at (205,50) size 50x30
     45          [filter="surfaceScaleB"] RenderSVGResourceFilter {filter} at (205,30) size 50x30
     46        RenderSVGImage {image} at (320,50) size 50x30
     47          [filter="surfaceScaleC"] RenderSVGResourceFilter {filter} at (320,30) size 50x30
    3348      RenderSVGContainer {g} at (90,101) size 305x49 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,90.00)}]
    3449        RenderSVGText {text} at (90,25) size 305x18 contains 1 chunk(s)
     
    3954          RenderPath {rect} at (205,120) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00 L255.00,30.00 L255.00,60.00 L205.00,60.00 Z"]
    4055          RenderPath {rect} at (320,120) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M320.00,30.00 L370.00,30.00 L370.00,60.00 L320.00,60.00 Z"]
    41         RenderSVGImage {image} at (90,120) size 50x30 [filter=specularConstantA]
    42         RenderSVGImage {image} at (205,120) size 50x30 [filter=specularConstantB]
    43         RenderSVGImage {image} at (320,120) size 50x30 [filter=specularConstantC]
     56        RenderSVGImage {image} at (90,120) size 50x30
     57          [filter="specularConstantA"] RenderSVGResourceFilter {filter} at (90,30) size 50x30
     58        RenderSVGImage {image} at (205,120) size 50x30
     59          [filter="specularConstantB"] RenderSVGResourceFilter {filter} at (205,30) size 50x30
     60        RenderSVGImage {image} at (320,120) size 50x30
     61          [filter="specularConstantC"] RenderSVGResourceFilter {filter} at (320,30) size 50x30
    4462      RenderSVGContainer {g} at (90,171) size 310x49 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}]
    4563        RenderSVGText {text} at (90,25) size 310x18 contains 1 chunk(s)
     
    5068          RenderPath {rect} at (205,190) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00 L255.00,30.00 L255.00,60.00 L205.00,60.00 Z"]
    5169          RenderPath {rect} at (320,190) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M320.00,30.00 L370.00,30.00 L370.00,60.00 L320.00,60.00 Z"]
    52         RenderSVGImage {image} at (90,190) size 50x30 [filter=specularExponentA]
    53         RenderSVGImage {image} at (205,190) size 50x30 [filter=specularExponentB]
    54         RenderSVGImage {image} at (320,190) size 50x30 [filter=specularExponentC]
     70        RenderSVGImage {image} at (90,190) size 50x30
     71          [filter="specularExponentA"] RenderSVGResourceFilter {filter} at (90,30) size 50x30
     72        RenderSVGImage {image} at (205,190) size 50x30
     73          [filter="specularExponentB"] RenderSVGResourceFilter {filter} at (205,30) size 50x30
     74        RenderSVGImage {image} at (320,190) size 50x30
     75          [filter="specularExponentC"] RenderSVGResourceFilter {filter} at (320,30) size 50x30
    5576      RenderSVGContainer {g} at (90,241) size 341x49 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,230.00)}]
    5677        RenderSVGText {text} at (90,25) size 341x18 contains 1 chunk(s)
     
    6182          RenderPath {rect} at (205,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M205.00,30.00 L255.00,30.00 L255.00,60.00 L205.00,60.00 Z"]
    6283          RenderPath {rect} at (320,260) size 50x30 [fill={[type=SOLID] [color=#000000]}] [data="M320.00,30.00 L370.00,30.00 L370.00,60.00 L320.00,60.00 Z"]
    63         RenderSVGImage {image} at (90,260) size 50x30 [filter=lightingColorA]
    64         RenderSVGImage {image} at (205,260) size 50x30 [filter=lightingColorB]
    65         RenderSVGImage {image} at (320,260) size 50x30 [filter=lightingColorC]
     84        RenderSVGImage {image} at (90,260) size 50x30
     85          [filter="lightingColorA"] RenderSVGResourceFilter {filter} at (90,30) size 50x30
     86        RenderSVGImage {image} at (205,260) size 50x30
     87          [filter="lightingColorB"] RenderSVGResourceFilter {filter} at (205,30) size 50x30
     88        RenderSVGImage {image} at (320,260) size 50x30
     89          [filter="lightingColorC"] RenderSVGResourceFilter {filter} at (320,30) size 50x30
    6690    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
    6791      RenderSVGInlineText {#text} at (0,-36) size 264x46
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="feTileFilter" [type=FILTER]  [bounding box=at (115,40) size 250x250] [bounding box mode=0]}
    21layer at (0,0) size 480x360
    32  RenderView at (0,0) size 480x360
     
    98          chunk 1 (middle anchor) text run 1 at (145.50,25.00) startOffset 0 endOffset 35 width 189.00: "feTile filter test: a tiled pattern"
    109      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    11       RenderSVGContainer {g} at (115,40) size 250x250 [filter=feTileFilter]
     10        RenderSVGResourceFilter {filter} [id="feTileFilter"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     11          [primitve="offset" [type=OFFSET]  [dx=6.00 dy=6.00]]
     12          [last primitive [type=TILE]]
     13      RenderSVGContainer {g} at (115,40) size 250x250
     14        [filter="feTileFilter"] RenderSVGResourceFilter {filter} at (115,40) size 250x250
    1215      RenderPath {rect} at (114,39) size 252x252 [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M115.00,40.00 L365.00,40.00 L365.00,290.00 L115.00,290.00 Z"]
    1316      RenderPath {rect} at (214,114) size 52x27 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF] [opacity=0.50]}] [data="M215.00,115.00 L265.00,115.00 L265.00,140.00 L215.00,140.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="Turb1" [type=FILTER] }
    2 KCanvasResource {id="Turb2" [type=FILTER] }
    3 KCanvasResource {id="Turb3" [type=FILTER] }
    4 KCanvasResource {id="Turb4" [type=FILTER] }
    5 KCanvasResource {id="Turb5" [type=FILTER] }
    6 KCanvasResource {id="Turb6" [type=FILTER] }
    71layer at (0,0) size 480x360
    82  RenderView at (0,0) size 480x360
     
    126      RenderSVGContainer {g} at (23,25) size 404x273
    137        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    14         RenderPath {rect} at (25,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=Turb1] [data="M25.00,25.00 L125.00,25.00 L125.00,100.00 L25.00,100.00 Z"]
     8          RenderSVGResourceFilter {filter} [id="Turb1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9            [last primitive [type=TURBULENCE]  [turbulence type=TURBULANCE] [base frequency x=0.05 y=0.05] [seed=0.00] [num octaves=2] [stitch tiles=0]]
     10          RenderSVGResourceFilter {filter} [id="Turb2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11            [last primitive [type=TURBULENCE]  [turbulence type=TURBULANCE] [base frequency x=0.10 y=0.10] [seed=0.00] [num octaves=2] [stitch tiles=0]]
     12          RenderSVGResourceFilter {filter} [id="Turb3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13            [last primitive [type=TURBULENCE]  [turbulence type=TURBULANCE] [base frequency x=0.05 y=0.05] [seed=0.00] [num octaves=8] [stitch tiles=0]]
     14          RenderSVGResourceFilter {filter} [id="Turb4"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive [type=TURBULENCE]  [turbulence type=NOISE] [base frequency x=0.10 y=0.10] [seed=0.00] [num octaves=4] [stitch tiles=0]]
     16          RenderSVGResourceFilter {filter} [id="Turb5"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive [type=TURBULENCE]  [turbulence type=NOISE] [base frequency x=0.40 y=0.40] [seed=0.00] [num octaves=4] [stitch tiles=0]]
     18          RenderSVGResourceFilter {filter} [id="Turb6"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive [type=TURBULENCE]  [turbulence type=NOISE] [base frequency x=0.10 y=0.10] [seed=0.00] [num octaves=1] [stitch tiles=0]]
     20        RenderPath {rect} at (25,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [data="M25.00,25.00 L125.00,25.00 L125.00,100.00 L25.00,100.00 Z"]
     21          [filter="Turb1"] RenderSVGResourceFilter {filter} at (25,25) size 100x75
    1522        RenderSVGText {text} at (34,117) size 82x12 contains 1 chunk(s)
    1623          RenderSVGInlineText {#text} at (0,-10) size 82x12
     
    2229          RenderSVGInlineText {#text} at (0,-10) size 76x12
    2330            chunk 1 (middle anchor) text run 1 at (37.00,141.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=2"
    24         RenderPath {rect} at (175,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=Turb2] [data="M175.00,25.00 L275.00,25.00 L275.00,100.00 L175.00,100.00 Z"]
     31        RenderPath {rect} at (175,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [data="M175.00,25.00 L275.00,25.00 L275.00,100.00 L175.00,100.00 Z"]
     32          [filter="Turb2"] RenderSVGResourceFilter {filter} at (175,25) size 100x75
    2533        RenderSVGText {text} at (184,117) size 82x12 contains 1 chunk(s)
    2634          RenderSVGInlineText {#text} at (0,-10) size 82x12
     
    3240          RenderSVGInlineText {#text} at (0,-10) size 76x12
    3341            chunk 1 (middle anchor) text run 1 at (187.00,141.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=2"
    34         RenderPath {rect} at (325,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=Turb3] [data="M325.00,25.00 L425.00,25.00 L425.00,100.00 L325.00,100.00 Z"]
     42        RenderPath {rect} at (325,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [data="M325.00,25.00 L425.00,25.00 L425.00,100.00 L325.00,100.00 Z"]
     43          [filter="Turb3"] RenderSVGResourceFilter {filter} at (325,25) size 100x75
    3544        RenderSVGText {text} at (334,117) size 82x12 contains 1 chunk(s)
    3645          RenderSVGInlineText {#text} at (0,-10) size 82x12
     
    4251          RenderSVGInlineText {#text} at (0,-10) size 76x12
    4352            chunk 1 (middle anchor) text run 1 at (337.00,141.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=8"
    44         RenderPath {rect} at (25,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=Turb4] [data="M25.00,180.00 L125.00,180.00 L125.00,255.00 L25.00,255.00 Z"]
     53        RenderPath {rect} at (25,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [data="M25.00,180.00 L125.00,180.00 L125.00,255.00 L25.00,255.00 Z"]
     54          [filter="Turb4"] RenderSVGResourceFilter {filter} at (25,180) size 100x75
    4555        RenderSVGText {text} at (30,272) size 90x12 contains 1 chunk(s)
    4656          RenderSVGInlineText {#text} at (0,-10) size 90x12
     
    5262          RenderSVGInlineText {#text} at (0,-10) size 76x12
    5363            chunk 1 (middle anchor) text run 1 at (37.00,296.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=4"
    54         RenderPath {rect} at (175,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=Turb5] [data="M175.00,180.00 L275.00,180.00 L275.00,255.00 L175.00,255.00 Z"]
     64        RenderPath {rect} at (175,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [data="M175.00,180.00 L275.00,180.00 L275.00,255.00 L175.00,255.00 Z"]
     65          [filter="Turb5"] RenderSVGResourceFilter {filter} at (175,180) size 100x75
    5566        RenderSVGText {text} at (180,272) size 90x12 contains 1 chunk(s)
    5667          RenderSVGInlineText {#text} at (0,-10) size 90x12
     
    6273          RenderSVGInlineText {#text} at (0,-10) size 76x12
    6374            chunk 1 (middle anchor) text run 1 at (187.00,296.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=4"
    64         RenderPath {rect} at (325,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [filter=Turb6] [data="M325.00,180.00 L425.00,180.00 L425.00,255.00 L325.00,255.00 Z"]
     75        RenderPath {rect} at (325,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [data="M325.00,180.00 L425.00,180.00 L425.00,255.00 L325.00,255.00 Z"]
     76          [filter="Turb6"] RenderSVGResourceFilter {filter} at (325,180) size 100x75
    6577        RenderSVGText {text} at (330,272) size 90x12 contains 1 chunk(s)
    6678          RenderSVGInlineText {#text} at (0,-10) size 90x12
  • trunk/LayoutTests/platform/mac/svg/batik/filters/feTile-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="tileFill" [type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}
    2 KCanvasResource {id="tile_1" [type=FILTER]  [bounding box=at (0.00%,0.00%) size 200.00%x200.00%] [effect bounding box mode=1]}
    3 KCanvasResource {id="tile_2" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 200.00%x200.00%] [effect bounding box mode=1]}
    4 KCanvasResource {id="tile_3" [type=FILTER]  [bounding box=at (-25.00%,-25.00%) size 200.00%x200.00%] [effect bounding box mode=1]}
    52layer at (0,0) size 800x600
    63  RenderView at (0,0) size 800x600
     
    1613          RenderSVGGradientStop {stop} at (0,0) size 0x0
    1714          RenderSVGGradientStop {stop} at (0,0) size 0x0
     15        RenderSVGResourceFilter {filter} [id="tile_1"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     16          [last primitive [type=TILE]]
     17        RenderSVGResourceFilter {filter} [id="tile_2"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     18          [last primitive [type=TILE]]
     19        RenderSVGResourceFilter {filter} [id="tile_3"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     20          [last primitive [type=TILE]]
    1821      RenderSVGContainer {g} at (11,71) size 118x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,100.00)}]
    19         RenderPath {rect} at (20,100) size 100x50 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [filter=tile_1] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     22        RenderPath {rect} at (20,100) size 100x50 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     23          [filter="tile_1"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
    2024        RenderPath {rect} at (19,99) size 102x52 [stroke={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,50.00 L0.00,50.00 Z"]
    2125        RenderSVGText {text} at (32,-15) size 36x18 contains 1 chunk(s)
     
    2630            chunk 1 (middle anchor) text run 1 at (-8.50,-3.00) startOffset 0 endOffset 21 width 117.00: "4 tiles, quarter size"
    2731      RenderSVGContainer {g} at (1,171) size 138x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,200.00)}]
    28         RenderPath {rect} at (20,200) size 100x50 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [filter=tile_2] [data="M25.00,12.50 L75.00,12.50 L75.00,37.50 L25.00,37.50 Z"]
     32        RenderPath {rect} at (20,200) size 100x50 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [data="M25.00,12.50 L75.00,12.50 L75.00,37.50 L25.00,37.50 Z"]
     33          [filter="tile_2"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
    2934        RenderPath {rect} at (19,199) size 102x52 [stroke={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,50.00 L0.00,50.00 Z"]
    3035        RenderSVGText {text} at (-1,-15) size 102x18 contains 1 chunk(s)
     
    3540            chunk 1 (middle anchor) text run 1 at (-18.50,-3.00) startOffset 0 endOffset 26 width 137.00: "9 tiles, 1 full, 8 partial"
    3641      RenderSVGContainer {g} at (1,270) size 138x82 [transform={m=((1.00,0.00)(0.00,1.00)) t=(32.50,307.25)}]
    37         RenderPath {rect} at (19,300) size 102x52 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [filter=tile_3] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     42        RenderPath {rect} at (19,300) size 102x52 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     43          [filter="tile_3"] RenderSVGResourceFilter {filter} at (-12.50,-6.25) size 100x50
    3844        RenderPath {rect} at (19,299) size 102x53 [stroke={[type=SOLID] [color=#000000]}] [data="M-12.50,-7.25 L87.50,-7.25 L87.50,42.75 L-12.50,42.75 Z"]
    3945        RenderSVGText {text} at (-29,-23) size 133x19 contains 1 chunk(s)
     
    4450            chunk 1 (middle anchor) text run 1 at (-31.00,-10.25) startOffset 0 endOffset 26 width 137.00: "9 tiles, 1 full, 8 partial"
    4551      RenderSVGContainer {g} at (243,99) size 133x52 [transform={m=((1.00,0.00)(0.58,1.00)) t=(245.00,100.00)}]
    46         RenderPath {rect} at (245,100) size 129x50 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [filter=tile_1] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     52        RenderPath {rect} at (245,100) size 129x50 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     53          [filter="tile_1"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
    4754        RenderPath {rect} at (243,99) size 133x52 [stroke={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,50.00 L0.00,50.00 Z"]
    4855      RenderSVGContainer {g} at (263,71) size 64x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(245.00,100.00)}]
     
    5461            chunk 1 (middle anchor) text run 1 at (18.00,-3.00) startOffset 0 endOffset 8 width 64.00: "skewed X"
    5562      RenderSVGContainer {g} at (255,200) size 80x60 [transform={m=((0.66,0.24)(-0.24,0.66)) t=(268.10,201.58)}]
    56         RenderPath {rect} at (256,201) size 78x58 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [filter=tile_2] [data="M25.00,12.50 L75.00,12.50 L75.00,37.50 L25.00,37.50 Z"]
     63        RenderPath {rect} at (256,201) size 78x58 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [data="M25.00,12.50 L75.00,12.50 L75.00,37.50 L25.00,37.50 Z"]
     64          [filter="tile_2"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
    5765        RenderPath {rect} at (255,200) size 80x60 [stroke={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,50.00 L0.00,50.00 Z"]
    5866      RenderSVGContainer {g} at (216,171) size 158x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(245.00,200.00)}]
     
    6472            chunk 1 (middle anchor) text run 1 at (-28.50,-3.00) startOffset 0 endOffset 26 width 157.00: "(centered, rotate & scale)"
    6573      RenderSVGContainer {g} at (244,300) size 102x80 [transform={m=((1.00,0.27)(0.00,1.00)) t=(257.50,310.60)}]
    66         RenderPath {rect} at (244,300) size 102x79 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [filter=tile_3] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     74        RenderPath {rect} at (244,300) size 102x79 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (0.50,#44CCFF), (1.00,#000033)]] [start=(0,0)] [end=(1,1)]}] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     75          [filter="tile_3"] RenderSVGResourceFilter {filter} at (-12.50,-6.25) size 100x50
    6776        RenderPath {rect} at (244,300) size 102x80 [stroke={[type=SOLID] [color=#000000]}] [data="M-12.50,-6.25 L87.50,-6.25 L87.50,43.75 L-12.50,43.75 Z"]
    6877      RenderSVGContainer {g} at (228,270) size 134x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(257.50,307.25)}]
  • trunk/LayoutTests/platform/mac/svg/batik/filters/filterRegions-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filterRegion_0" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    2 KCanvasResource {id="filterRegion_1" [type=FILTER]  [bounding box=at (20,30) size 50x40] [bounding box mode=0]}
    3 KCanvasResource {id="filterRegion_2" [type=FILTER]  [bounding box=at (20,30) size 50x40] [bounding box mode=0]}
    4 KCanvasResource {id="filterRegion_3" [type=FILTER]  [bounding box=at (20,30) size 50x40] [bounding box mode=0]}
    5 KCanvasResource {id="filterRegion_4" [type=FILTER]  [bounding box=at (20,30) size 50x40] [bounding box mode=0]}
    6 KCanvasResource {id="filterRegion_5" [type=FILTER]  [bounding box=at (20,30) size 50x40] [bounding box mode=0]}
    7 KCanvasResource {id="filterRegion_6" [type=FILTER]  [bounding box=at (20,30) size 50x40] [bounding box mode=0]}
    8 KCanvasResource {id="filterRegion_2_0" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    9 KCanvasResource {id="filterRegion_2_1" [type=FILTER]  [bounding box=at (-45,-50) size 540x600] [bounding box mode=0] [effect bounding box mode=1]}
    10 KCanvasResource {id="filterRegion_2_2" [type=FILTER]  [bounding box=at (-45,-50) size 540x600] [bounding box mode=0] [effect bounding box mode=1]}
    11 KCanvasResource {id="filterRegion_2_3" [type=FILTER]  [bounding box=at (-45,-50) size 540x600] [bounding box mode=0] [effect bounding box mode=1]}
    12 KCanvasResource {id="filterRegion_2_4" [type=FILTER]  [bounding box=at (-45,-50) size 540x600] [bounding box mode=0] [effect bounding box mode=1]}
    13 KCanvasResource {id="filterRegion_2_5" [type=FILTER]  [bounding box=at (20,30) size 50x40] [bounding box mode=0] [effect bounding box mode=1]}
    14 KCanvasResource {id="filterRegion_3_0" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    15 KCanvasResource {id="filterRegion_3_1" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    16 KCanvasResource {id="filterRegion_3_2" [type=FILTER]  [bounding box=at (-100.00%,-100.00%) size 200.00%x200.00%]}
    17 KCanvasResource {id="filterRegion_3_3" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 75.00%x75.00%]}
    181layer at (0,0) size 800x600
    192  RenderView at (0,0) size 800x600
     
    247        chunk 1 (middle anchor) text run 1 at (175.00,40.00) startOffset 0 endOffset 14 width 100.00: "Filter Regions"
    258    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     9      RenderSVGResourceFilter {filter} [id="filterRegion_0"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     10        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     11      RenderSVGResourceFilter {filter} [id="filterRegion_1"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     12        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     13      RenderSVGResourceFilter {filter} [id="filterRegion_2"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     14        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     15      RenderSVGResourceFilter {filter} [id="filterRegion_3"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     16        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     17      RenderSVGResourceFilter {filter} [id="filterRegion_4"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     18        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     19      RenderSVGResourceFilter {filter} [id="filterRegion_5"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     20        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     21      RenderSVGResourceFilter {filter} [id="filterRegion_6"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     22        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     23      RenderSVGResourceFilter {filter} [id="filterRegion_2_0"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     24        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     25      RenderSVGResourceFilter {filter} [id="filterRegion_2_1"] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
     26        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     27      RenderSVGResourceFilter {filter} [id="filterRegion_2_2"] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
     28        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     29      RenderSVGResourceFilter {filter} [id="filterRegion_2_3"] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
     30        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     31      RenderSVGResourceFilter {filter} [id="filterRegion_2_4"] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
     32        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     33      RenderSVGResourceFilter {filter} [id="filterRegion_2_5"] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
     34        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     35      RenderSVGResourceFilter {filter} [id="filterRegion_3_0"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     36        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     37      RenderSVGResourceFilter {filter} [id="filterRegion_3_1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     38        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     39      RenderSVGResourceFilter {filter} [id="filterRegion_3_2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     40        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     41      RenderSVGResourceFilter {filter} [id="filterRegion_3_3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     42        [last primitive [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
    2643    RenderSVGContainer {g} at (0,59) size 450x441 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,50.00)}]
    2744      RenderSVGContainer {g} at (259,119) size 122x82 [transform={m=((1.00,0.00)(0.00,1.00)) t=(240.00,95.00)}]
    28         RenderPath {rect} at (260,140) size 121x61 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_0] [data="M0.00,0.00 L100.00,0.00 L100.00,50.00 L0.00,50.00 Z"]
     45        RenderPath {rect} at (260,140) size 121x61 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,50.00 L0.00,50.00 Z"]
     46          [filter="filterRegion_0"] RenderSVGResourceFilter {filter} at (-10,-5) size 120x60
    2947        RenderPath {rect} at (259,139) size 122x62 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M-10.00,-5.00 L110.00,-5.00 L110.00,55.00 L-10.00,55.00 Z"]
    3048        RenderSVGText {text} at (-11,-10) size 112x19 contains 1 chunk(s)
    3149          RenderSVGInlineText {#text} at (0,-16) size 112x19
    3250            chunk 1 (middle anchor) text run 1 at (-11.00,-10.00) startOffset 0 endOffset 14 width 112.00: "filterRegion_0"
    33       RenderPath {rect} at (50,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_1] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     51      RenderPath {rect} at (50,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     52        [filter="filterRegion_1"] RenderSVGResourceFilter {filter} at (20,30) size 50x40
    3453      RenderPath {rect} at (49,79) size 52x42 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
    3554      RenderSVGText {text} at (-11,25) size 112x19 contains 1 chunk(s)
     
    3756          chunk 1 (middle anchor) text run 1 at (-11.00,25.00) startOffset 0 endOffset 14 width 112.00: "filterRegion_1"
    3857      RenderSVGContainer {g} at (119,59) size 112x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
    39         RenderPath {rect} at (150,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_2] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     58        RenderPath {rect} at (150,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     59          [filter="filterRegion_2"] RenderSVGResourceFilter {filter} at (20,30) size 50x40
    4060        RenderPath {rect} at (154,84) size 47x37 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M25.00,35.00 L70.00,35.00 L70.00,70.00 L25.00,70.00 Z"]
    4161        RenderSVGText {text} at (-11,25) size 112x19 contains 1 chunk(s)
     
    4363            chunk 1 (middle anchor) text run 1 at (-11.00,25.00) startOffset 0 endOffset 14 width 112.00: "filterRegion_2"
    4464      RenderSVGContainer {g} at (219,59) size 112x61 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}]
    45         RenderPath {rect} at (250,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_3] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     65        RenderPath {rect} at (250,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     66          [filter="filterRegion_3"] RenderSVGResourceFilter {filter} at (20,30) size 50x40
    4667        RenderPath {rect} at (249,79) size 52x22 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M20.00,30.00 L70.00,30.00 L70.00,50.00 L20.00,50.00 Z"]
    4768        RenderSVGText {text} at (-11,25) size 112x19 contains 1 chunk(s)
     
    4970            chunk 1 (middle anchor) text run 1 at (-11.00,25.00) startOffset 0 endOffset 14 width 112.00: "filterRegion_3"
    5071      RenderSVGContainer {g} at (319,59) size 112x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,0.00)}]
    51         RenderPath {rect} at (350,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_4] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     72        RenderPath {rect} at (350,80) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     73          [filter="filterRegion_4"] RenderSVGResourceFilter {filter} at (20,30) size 50x40
    5274        RenderPath {rect} at (349,79) size 27x42 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M20.00,30.00 L45.00,30.00 L45.00,70.00 L20.00,70.00 Z"]
    5375        RenderSVGText {text} at (-11,25) size 112x19 contains 1 chunk(s)
     
    5577            chunk 1 (middle anchor) text run 1 at (-11.00,25.00) startOffset 0 endOffset 14 width 112.00: "filterRegion_4"
    5678      RenderSVGContainer {g} at (19,134) size 112x61 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,75.00)}]
    57         RenderPath {rect} at (50,155) size 50x40 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_5] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     79        RenderPath {rect} at (50,155) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
     80          [filter="filterRegion_5"] RenderSVGResourceFilter {filter} at (20,30) size 50x40
    5881        RenderPath {rect} at (49,154) size 52x22 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M20.00,30.00 L70.00,30.00 L70.00,50.00 L20.00,50.00 Z"]
    5982        RenderSVGText {text} at (-11,25) size 112x19 contains 1 chunk(s)
    6083          RenderSVGInlineText {#text} at (0,-16) size 112x19
    6184            chunk 1 (middle anchor) text run 1 at (-11.00,25.00) startOffset 0 endOffset 14 width 112.00: "filterRegion_5"
    62       RenderSVGContainer {g} at (150,155) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,75.00)}] [filter=filterRegion_6]
     85      RenderSVGContainer {g} at (150,155) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,75.00)}]
     86        [filter="filterRegion_6"] RenderSVGResourceFilter {filter} at (20,30) size 50x40
    6387        RenderPath {rect} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,3000.00 L20000000.00,3000.00 L20000000.00,3025.00 L0.00,3025.00 Z"]
    6488      RenderSVGContainer {g} at (119,134) size 112x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,75.00)}]
     
    6892            chunk 1 (middle anchor) text run 1 at (-11.00,25.00) startOffset 0 endOffset 14 width 112.00: "filterRegion_6"
    6993      RenderSVGContainer {g} at (109,294) size 132x64 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,280.00)}]
    70         RenderPath {rect} at (145,327) size 61x31 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_2_0] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     94        RenderPath {rect} at (145,327) size 61x31 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,25.00 L0.00,25.00 Z"]
     95          [filter="filterRegion_2_0"] RenderSVGResourceFilter {filter} at (-5,-2.50) size 60x30
    7196        RenderPath {rect} at (144,327) size 62x31 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M-5.00,-2.50 L55.00,-2.50 L55.00,27.50 L-5.00,27.50 Z"]
    7297        RenderSVGText {text} at (-41,-20) size 132x19 contains 1 chunk(s)
    7398          RenderSVGInlineText {#text} at (0,-16) size 132x19
    7499            chunk 1 (middle anchor) text run 1 at (-41.00,-20.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_2_0"
    75       RenderSVGContainer {g} at (0,160) size 450x340 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}] [filter=filterRegion_2_1]
     100      RenderSVGContainer {g} at (0,160) size 450x340 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}]
     101        [filter="filterRegion_2_1"] RenderSVGResourceFilter {filter} at (-45,-50) size 540x600
    76102        RenderPath {rect} at (50,240) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
    77103      RenderSVGContainer {g} at (9,219) size 132x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,160.00)}]
     
    81107            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_2_1"
    82108      RenderSVGContainer {g} at (85,160) size 365x340 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,160.00)}]
    83         RenderPath {rect} at (85,160) size 365x340 [fill={[type=SOLID] [color=#000000]}] [filter=filterRegion_2_2] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
     109        RenderPath {rect} at (85,160) size 365x340 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
     110          [filter="filterRegion_2_2"] RenderSVGResourceFilter {filter} at (-45,-50) size 540x600
    84111      RenderSVGContainer {g} at (109,219) size 132x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,160.00)}]
    85112        RenderPath {rect} at (149,239) size 52x42 [stroke={[type=SOLID] [color=#000000] [opacity=0.50]}] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
     
    87114          RenderSVGInlineText {#text} at (0,-16) size 132x19
    88115            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_2_2"
    89       RenderSVGContainer {g} at (185,160) size 265x340 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,160.00)}] [filter=filterRegion_2_3]
     116      RenderSVGContainer {g} at (185,160) size 265x340 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,160.00)}]
     117        [filter="filterRegion_2_3"] RenderSVGResourceFilter {filter} at (-45,-50) size 540x600
    90118        RenderPath {rect} at (250,240) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
    91119      RenderSVGContainer {g} at (209,219) size 132x52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,160.00)}]
     
    94122          RenderSVGInlineText {#text} at (0,-16) size 132x19
    95123            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_2_3"
    96       RenderSVGContainer {g} at (285,160) size 165x340 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,160.00)}] [filter=filterRegion_2_4]
     124      RenderSVGContainer {g} at (285,160) size 165x340 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,160.00)}]
     125        [filter="filterRegion_2_4"] RenderSVGResourceFilter {filter} at (-45,-50) size 540x600
    97126        RenderPath {rect} at (350,240) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
    98127      RenderSVGContainer {g} at (309,219) size 132x52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,160.00)}]
     
    101130          RenderSVGInlineText {#text} at (0,-16) size 132x19
    102131            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_2_4"
    103       RenderSVGContainer {g} at (50,325) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,245.00)}] [filter=filterRegion_2_5]
     132      RenderSVGContainer {g} at (50,325) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,245.00)}]
     133        [filter="filterRegion_2_5"] RenderSVGResourceFilter {filter} at (20,30) size 50x40
    104134        RenderPath {rect} at (50,325) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M20.00,30.00 L70.00,30.00 L70.00,70.00 L20.00,70.00 Z"]
    105135      RenderSVGContainer {g} at (9,304) size 132x52 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,245.00)}]
     
    108138          RenderSVGInlineText {#text} at (0,-16) size 132x19
    109139            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_2_5"
    110       RenderSVGContainer {g} at (0,335) size 450x165 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,330.00)}] [filter=filterRegion_3_1]
     140      RenderSVGContainer {g} at (0,335) size 450x165 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,330.00)}]
     141        [filter="filterRegion_3_1"] RenderSVGResourceFilter {filter} at (-45,-45) size 540x540
    111142        RenderPath {rect} at (30,380) size 420x120 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L450.00,0.00 L450.00,450.00 L0.00,450.00 Z"]
    112143      RenderSVGContainer {g} at (9,389) size 132x47 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,330.00)}]
     
    115146          RenderSVGInlineText {#text} at (0,-16) size 132x19
    116147            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_3_1"
    117       RenderSVGContainer {g} at (346,375) size 48x61 [transform={m=((1.00,0.00)(0.00,1.00)) t=(320.00,330.00)}] [filter=filterRegion_3_0]
     148      RenderSVGContainer {g} at (346,375) size 48x61 [transform={m=((1.00,0.00)(0.00,1.00)) t=(320.00,330.00)}]
     149        [filter="filterRegion_3_0"] RenderSVGResourceFilter {filter} at (-4,-5) size 48x60
    118150        RenderPath {rect} at (350,380) size 40x50 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L40.00,0.00 L40.00,50.00 L0.00,50.00 Z"]
    119151      RenderSVGContainer {g} at (329,374) size 121x62 [transform={m=((1.00,0.00)(0.00,1.00)) t=(320.00,330.00)}]
     
    122154          RenderSVGInlineText {#text} at (0,-16) size 132x19
    123155            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_3_0"
    124       RenderSVGContainer {g} at (130,380) size 100x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,330.00)}] [filter=filterRegion_3_2]
     156      RenderSVGContainer {g} at (130,380) size 100x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,330.00)}]
     157        [filter="filterRegion_3_2"] RenderSVGResourceFilter {filter} at (0,0) size 100x80
    125158        RenderPath {rect} at (180,420) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M50.00,40.00 L100.00,40.00 L100.00,80.00 L50.00,80.00 Z"]
    126159      RenderSVGContainer {g} at (109,379) size 132x82 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,330.00)}]
     
    129162          RenderSVGInlineText {#text} at (0,-16) size 132x19
    130163            chunk 1 (middle anchor) text run 1 at (-21.00,25.00) startOffset 0 endOffset 16 width 132.00: "filterRegion_3_2"
    131       RenderSVGContainer {g} at (255,400) size 38x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,330.00)}] [filter=filterRegion_3_3]
     164      RenderSVGContainer {g} at (255,400) size 38x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,330.00)}]
     165        [filter="filterRegion_3_3"] RenderSVGResourceFilter {filter} at (25,20) size 37.50x30
    132166        RenderPath {rect} at (280,420) size 50x40 [fill={[type=SOLID] [color=#000000]}] [data="M50.00,40.00 L100.00,40.00 L100.00,80.00 L50.00,80.00 Z"]
    133167      RenderSVGContainer {g} at (209,389) size 132x42 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,330.00)}]
  • trunk/LayoutTests/platform/mac/svg/batik/text/textEffect-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="linearGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#FFD700), (0.50,#FFA500), (1.00,#DC143C)]] [start=(0,0)] [end=(1,0)]}
    22KRenderingPaintServer {id="radialGradient" [type=RADIAL-GRADIENT] [stops=[(0.00,#FFD700), (0.50,#FFA500), (1.00,#DC143C)]] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]}
    3 KCanvasResource {id="dropShadow" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    43layer at (0,0) size 800x600
    54  RenderView at (0,0) size 800x600
     
    2221          RenderSVGGradientStop {stop} at (0,0) size 0x0
    2322          RenderSVGGradientStop {stop} at (0,0) size 0x0
     23        RenderSVGResourceFilter {filter} [id="dropShadow"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     24          [last primitive ]
    2425      RenderSVGText {text} at (44,160) size 152x59 contains 1 chunk(s)
    2526        RenderSVGInlineText {#text} at (0,-48) size 152x59
     
    3536          chunk 1 (middle anchor) text run 1 at (252.94,260.00) startOffset 0 endOffset 5 width 154.11: "BATIK"
    3637      RenderSVGText {text} at (44,360) size 152x59 contains 1 chunk(s)
     38        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (28.80,306.10) size 182.40x70.80
    3739        RenderSVGInlineText {#text} at (0,-48) size 152x59
     40          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    3841          chunk 1 (middle anchor) text run 1 at (44.00,360.00) startOffset 0 endOffset 5 width 152.00: "BATIK"
    3942      RenderSVGText {text} at (252,360) size 156x58 contains 1 chunk(s)
     43        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (236.40,307.20) size 187.20x69.60
    4044        RenderSVGInlineText {#text} at (0,-47) size 156x58
     45          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    4146          chunk 1 (middle anchor) text run 1 at (252.94,360.00) startOffset 0 endOffset 5 width 154.11: "BATIK"
    4247      RenderSVGText {text} at (87,400) size 66x14 contains 1 chunk(s)
  • trunk/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="linearGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#FFD700), (0.50,#FFA500), (1.00,#DC143C)]] [start=(0,0)] [end=(1,0)]}
    22KRenderingPaintServer {id="radialGradient" [type=RADIAL-GRADIENT] [stops=[(0.00,#FFD700), (0.50,#FFA500), (1.00,#DC143C)]] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]}
    3 KCanvasResource {id="dropShadow" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    43layer at (0,0) size 800x600
    54  RenderView at (0,0) size 800x600
     
    2221          RenderSVGGradientStop {stop} at (0,0) size 0x0
    2322          RenderSVGGradientStop {stop} at (0,0) size 0x0
     23        RenderSVGResourceFilter {filter} [id="dropShadow"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     24          [last primitive ]
    2425      RenderSVGText {text} at (54,140) size 146x79 contains 1 chunk(s)
    2526        RenderSVGInlineText {#text} at (0,-28) size 36x59
     
    8384        RenderSVGInlineText {#text} at (0,0) size 0x0
    8485      RenderSVGText {text} at (54,340) size 146x79 contains 1 chunk(s)
     86        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (39.40,284.10) size 175.20x94.80
    8587        RenderSVGInlineText {#text} at (0,-28) size 36x59
     88          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    8689          chunk 1 (middle anchor) text run 1 at (54.50,360.00) startOffset 0 endOffset 1 width 35.00: "B"
    8790        RenderSVGTSpan {tspan} at (0,0) size 19x30
     
    8992            chunk 1 (middle anchor) text run 2 at (89.50,340.00) startOffset 0 endOffset 1 width 18.00: "A"
    9093        RenderSVGInlineText {#text} at (53,-48) size 33x59
     94          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    9195          chunk 1 (middle anchor) text run 3 at (107.50,340.00) startOffset 0 endOffset 1 width 32.00: "T"
    9296        RenderSVGTSpan {tspan} at (0,0) size 12x44
     
    97101            chunk 1 (middle anchor) text run 5 at (150.50,340.00) startOffset 0 endOffset 1 width 35.00: "K"
    98102        RenderSVGInlineText {#text} at (0,0) size 0x0
     103          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    99104      RenderSVGText {text} at (263,340) size 148x78 contains 1 chunk(s)
     105        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (248.20,285.20) size 177.60x93.60
    100106        RenderSVGInlineText {#text} at (0,-27) size 37x58
     107          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    101108          chunk 1 (middle anchor) text run 1 at (263.69,360.00) startOffset 0 endOffset 1 width 35.57: "B"
    102109        RenderSVGTSpan {tspan} at (0,0) size 19x29
     
    104111            chunk 1 (middle anchor) text run 2 at (299.26,340.00) startOffset 0 endOffset 1 width 17.79: "A"
    105112        RenderSVGInlineText {#text} at (54,-47) size 33x58
     113          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    106114          chunk 1 (middle anchor) text run 3 at (317.05,340.00) startOffset 0 endOffset 1 width 32.58: "T"
    107115        RenderSVGTSpan {tspan} at (0,0) size 12x44
     
    112120            chunk 1 (middle anchor) text run 5 at (360.74,340.00) startOffset 0 endOffset 1 width 35.57: "K"
    113121        RenderSVGInlineText {#text} at (0,0) size 0x0
     122          [filter="dropShadow"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    114123      RenderSVGText {text} at (87,400) size 66x14 contains 1 chunk(s)
    115124        RenderSVGInlineText {#text} at (0,-11) size 66x14
  • trunk/LayoutTests/platform/mac/svg/batik/text/textFeatures-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="blur" [type=FILTER]  [bounding box=at (0,-80) size 200x100] [bounding box mode=0]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 450x500
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="blur"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     7        [last primitive ]
    78    RenderSVGContainer {g} at (45,36) size 405x453
    89      RenderSVGText {text} at (151,50) size 148x17 contains 1 chunk(s)
     
    145146        RenderSVGContainer {g} at (171,389) size 279x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,475.00)}]
    146147          RenderSVGText {text} at (0,0) size 129x46 contains 1 chunk(s)
     148            [filter="blur"] RenderSVGResourceFilter {filter} at (0,-80) size 200x100
    147149            RenderSVGInlineText {#text} at (0,-36) size 129x46
     150              [filter="blur"] RenderSVGResourceFilter {filter} at (0,-80) size 200x100
    148151              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 6 width 129.00: "Shadow"
    149152          RenderSVGText {text} at (0,0) size 129x46 contains 1 chunk(s)
  • trunk/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt

    r57511 r57880  
    1 KCanvasResource {id="gaussianBlur" [type=FILTER]  [bounding box=at (-100,-100) size 200x200] [bounding box mode=0]}
    21KRenderingPaintServer {id="gradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#008000)]] [bounding box mode=0] [start=(-50,-25)] [end=(50,25)]}
    32layer at (0,0) size 800x600
     
    65  RenderSVGRoot {svg} at (0,0) size 450x500
    76    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     7      RenderSVGResourceFilter {filter} [id="gaussianBlur"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     8        [last primitive ]
    89      RenderSVGText {text} at (-22,0) size 44x18 contains 1 chunk(s)
    910        RenderSVGInlineText {#text} at (0,-14) size 44x18
     
    109110            chunk 1 (middle anchor) text run 1 at (-49.00,15.00) startOffset 0 endOffset 14 width 98.00: "fill=\"DarkRed\""
    110111      RenderSVGContainer {g} at (0,270) size 200x200 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,370.00)}]
    111         RenderSVGContainer {g} at (0,270) size 200x200 [filter=gaussianBlur]
     112        RenderSVGContainer {g} at (0,270) size 200x200
     113          [filter="gaussianBlur"] RenderSVGResourceFilter {filter} at (-100,-100) size 200x200
    112114          RenderSVGContainer {use} at (58,342) size 84x36
    113115            RenderSVGContainer {g} at (58,342) size 84x36
  • trunk/LayoutTests/platform/mac/svg/custom/empty-merge-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="MyFilter1" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    2 KCanvasResource {id="MyFilter2" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    31layer at (0,0) size 800x600
    42  RenderView at (0,0) size 800x600
     
    64  RenderSVGRoot {svg} at (0,0) size 800x600
    75    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    8     RenderPath {rect} at (0,0) size 121x121 [fill={[type=SOLID] [color=#008000]}] [filter=MyFilter1] [data="M10.00,10.00 L110.00,10.00 L110.00,110.00 L10.00,110.00 Z"]
    9     RenderPath {rect} at (120,0) size 120x121 [fill={[type=SOLID] [color=#008000]}] [filter=MyFilter2] [data="M130.00,10.00 L230.00,10.00 L230.00,110.00 L130.00,110.00 Z"]
     6      RenderSVGResourceFilter {filter} [id="MyFilter1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive [type=MERGE] [merge inputs=[1]]]
     8      RenderSVGResourceFilter {filter} [id="MyFilter2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9        [last primitive [type=MERGE] [merge inputs=[1]]]
     10    RenderPath {rect} at (0,0) size 121x121 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,10.00 L110.00,10.00 L110.00,110.00 L10.00,110.00 Z"]
     11      [filter="MyFilter1"] RenderSVGResourceFilter {filter} at (0,0) size 120x120
     12    RenderPath {rect} at (120,0) size 120x121 [fill={[type=SOLID] [color=#008000]}] [data="M130.00,10.00 L230.00,10.00 L230.00,110.00 L130.00,110.00 Z"]
     13      [filter="MyFilter2"] RenderSVGResourceFilter {filter} at (120,0) size 120x120
  • trunk/LayoutTests/platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="MyGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}
    2 KCanvasResource {id="Identity" [type=FILTER] }
    3 KCanvasResource {id="DiscreteBlank" [type=FILTER] }
    4 KCanvasResource {id="DiscreteFull" [type=FILTER] }
    5 KCanvasResource {id="DiscreteOrd" [type=FILTER] }
    62layer at (0,0) size 800x600
    73  RenderView at (0,0) size 800x600
     
    1410            RenderSVGGradientStop {stop} at (0,0) size 0x0
    1511            RenderSVGGradientStop {stop} at (0,0) size 0x0
     12          RenderSVGResourceFilter {filter} [id="Identity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13            [last primitive ]
     14          RenderSVGResourceFilter {filter} [id="DiscreteBlank"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive ]
     16          RenderSVGResourceFilter {filter} [id="DiscreteFull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive ]
     18          RenderSVGResourceFilter {filter} [id="DiscreteOrd"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive ]
    1620        RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    1721        RenderSVGContainer {g} at (25,15) size 750x487
    1822          RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    19           RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Identity] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     23          RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     24            [filter="Identity"] RenderSVGResourceFilter {filter} at (20,10) size 580x40
    2025          RenderSVGText {text} at (20,70) size 101x18 contains 1 chunk(s)
    2126            RenderSVGInlineText {#text} at (0,-15) size 101x18
    2227              chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 14 width 101.00: "type: identity"
    23           RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=DiscreteBlank] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     28          RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     29            [filter="DiscreteBlank"] RenderSVGResourceFilter {filter} at (20,110) size 580x40
    2430          RenderSVGText {text} at (20,170) size 323x18 contains 1 chunk(s)
    2531            RenderSVGInlineText {#text} at (0,-15) size 323x18
    2632              chunk 1 text run 1 at (20.00,170.00) startOffset 0 endOffset 44 width 323.00: "type: discrete [0] -- Result should be black"
    27           RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=DiscreteFull] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     33          RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     34            [filter="DiscreteFull"] RenderSVGResourceFilter {filter} at (20,210) size 580x40
    2835          RenderSVGText {text} at (20,270) size 326x18 contains 1 chunk(s)
    2936            RenderSVGInlineText {#text} at (0,-15) size 326x18
    3037              chunk 1 text run 1 at (20.00,270.00) startOffset 0 endOffset 44 width 326.00: "type: discrete [1] -- Result should be green"
    31           RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=DiscreteOrd] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     38          RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     39            [filter="DiscreteOrd"] RenderSVGResourceFilter {filter} at (20,310) size 580x40
    3240          RenderSVGText {text} at (20,370) size 562x18 contains 1 chunk(s)
    3341            RenderSVGInlineText {#text} at (0,-15) size 562x18
  • trunk/LayoutTests/platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="MyGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}
    2 KCanvasResource {id="Identity" [type=FILTER] }
    3 KCanvasResource {id="GammaBlank" [type=FILTER] }
    4 KCanvasResource {id="GammaFull" [type=FILTER] }
    5 KCanvasResource {id="GammaOrd" [type=FILTER] }
    62layer at (0,0) size 800x600
    73  RenderView at (0,0) size 800x600
     
    1410            RenderSVGGradientStop {stop} at (0,0) size 0x0
    1511            RenderSVGGradientStop {stop} at (0,0) size 0x0
     12          RenderSVGResourceFilter {filter} [id="Identity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13            [last primitive ]
     14          RenderSVGResourceFilter {filter} [id="GammaBlank"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive ]
     16          RenderSVGResourceFilter {filter} [id="GammaFull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive ]
     18          RenderSVGResourceFilter {filter} [id="GammaOrd"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive ]
    1620        RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    1721        RenderSVGContainer {g} at (25,15) size 750x487
    1822          RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    19           RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Identity] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     23          RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     24            [filter="Identity"] RenderSVGResourceFilter {filter} at (20,10) size 580x40
    2025          RenderSVGText {text} at (20,70) size 101x18 contains 1 chunk(s)
    2126            RenderSVGInlineText {#text} at (0,-15) size 101x18
    2227              chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 14 width 101.00: "type: identity"
    23           RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=GammaBlank] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     28          RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     29            [filter="GammaBlank"] RenderSVGResourceFilter {filter} at (20,110) size 580x40
    2430          RenderSVGText {text} at (20,170) size 575x18 contains 1 chunk(s)
    2531            RenderSVGInlineText {#text} at (0,-15) size 575x18
    2632              chunk 1 text run 1 at (20.00,170.00) startOffset 0 endOffset 72 width 575.00: "type: gamma amplitude=1 exponent=1 offset=0 -- Result should be identity"
    27           RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=GammaFull] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     33          RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     34            [filter="GammaFull"] RenderSVGResourceFilter {filter} at (20,210) size 580x40
    2835          RenderSVGText {text} at (20,270) size 529x18 contains 1 chunk(s)
    2936            RenderSVGInlineText {#text} at (0,-15) size 529x18
     
    3239            RenderSVGInlineText {#text} at (0,-15) size 188x18
    3340              chunk 1 text run 1 at (20.00,290.00) startOffset 0 endOffset 27 width 188.00: "delayed falloff in gradient"
    34           RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=GammaOrd] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     41          RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     42            [filter="GammaOrd"] RenderSVGResourceFilter {filter} at (20,310) size 580x40
    3543          RenderSVGText {text} at (20,370) size 568x18 contains 1 chunk(s)
    3644            RenderSVGInlineText {#text} at (0,-15) size 568x18
  • trunk/LayoutTests/platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="MyGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}
    2 KCanvasResource {id="Identity" [type=FILTER] }
    3 KCanvasResource {id="DiscreteBlank" [type=FILTER] }
    4 KCanvasResource {id="DiscreteFull" [type=FILTER] }
    5 KCanvasResource {id="DiscreteOrd" [type=FILTER] }
    62layer at (0,0) size 800x600
    73  RenderView at (0,0) size 800x600
     
    1410            RenderSVGGradientStop {stop} at (0,0) size 0x0
    1511            RenderSVGGradientStop {stop} at (0,0) size 0x0
     12          RenderSVGResourceFilter {filter} [id="Identity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13            [last primitive ]
     14          RenderSVGResourceFilter {filter} [id="DiscreteBlank"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive ]
     16          RenderSVGResourceFilter {filter} [id="DiscreteFull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive ]
     18          RenderSVGResourceFilter {filter} [id="DiscreteOrd"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive ]
    1620        RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    1721        RenderSVGContainer {g} at (25,15) size 750x487
    1822          RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    19           RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Identity] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     23          RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     24            [filter="Identity"] RenderSVGResourceFilter {filter} at (20,10) size 580x40
    2025          RenderSVGText {text} at (20,70) size 101x18 contains 1 chunk(s)
    2126            RenderSVGInlineText {#text} at (0,-15) size 101x18
    2227              chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 14 width 101.00: "type: identity"
    23           RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=DiscreteBlank] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     28          RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     29            [filter="DiscreteBlank"] RenderSVGResourceFilter {filter} at (20,110) size 580x40
    2430          RenderSVGText {text} at (20,170) size 452x18 contains 1 chunk(s)
    2531            RenderSVGInlineText {#text} at (0,-15) size 452x18
    2632              chunk 1 text run 1 at (20.00,170.00) startOffset 0 endOffset 61 width 452.00: "type: linear slope=1 intercept=0 -- Result should be identity"
    27           RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=DiscreteFull] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     33          RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     34            [filter="DiscreteFull"] RenderSVGResourceFilter {filter} at (20,210) size 580x40
    2835          RenderSVGText {text} at (20,270) size 469x18 contains 1 chunk(s)
    2936            RenderSVGInlineText {#text} at (0,-15) size 469x18
    3037              chunk 1 text run 1 at (20.00,270.00) startOffset 0 endOffset 63 width 469.00: "type: linear slope=-1 intercept=0 -- Should invert the gradient"
    31           RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=DiscreteOrd] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     38          RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     39            [filter="DiscreteOrd"] RenderSVGResourceFilter {filter} at (20,310) size 580x40
    3240          RenderSVGText {text} at (20,370) size 599x18 contains 1 chunk(s)
    3341            RenderSVGInlineText {#text} at (0,-15) size 599x18
  • trunk/LayoutTests/platform/mac/svg/custom/feComponentTransfer-Table-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="MyGradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}
    2 KCanvasResource {id="Identity" [type=FILTER] }
    3 KCanvasResource {id="TableBlank" [type=FILTER] }
    4 KCanvasResource {id="TableFull" [type=FILTER] }
    5 KCanvasResource {id="TableOrd" [type=FILTER] }
    62layer at (0,0) size 800x600
    73  RenderView at (0,0) size 800x600
     
    1410            RenderSVGGradientStop {stop} at (0,0) size 0x0
    1511            RenderSVGGradientStop {stop} at (0,0) size 0x0
     12          RenderSVGResourceFilter {filter} [id="Identity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13            [last primitive ]
     14          RenderSVGResourceFilter {filter} [id="TableBlank"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15            [last primitive ]
     16          RenderSVGResourceFilter {filter} [id="TableFull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17            [last primitive ]
     18          RenderSVGResourceFilter {filter} [id="TableOrd"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19            [last primitive ]
    1620        RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    1721        RenderSVGContainer {g} at (25,15) size 750x487
    1822          RenderPath {rect} at (25,15) size 750x487 [stroke={[type=SOLID] [color=#0000FF]}] [data="M1.00,1.00 L649.00,1.00 L649.00,419.00 L1.00,419.00 Z"]
    19           RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=Identity] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     23          RenderPath {rect} at (46,26) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,10.00 L600.00,10.00 L600.00,50.00 L20.00,50.00 Z"]
     24            [filter="Identity"] RenderSVGResourceFilter {filter} at (20,10) size 580x40
    2025          RenderSVGText {text} at (20,70) size 101x18 contains 1 chunk(s)
    2126            RenderSVGInlineText {#text} at (0,-15) size 101x18
    2227              chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 14 width 101.00: "type: identity"
    23           RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=TableBlank] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     28          RenderPath {rect} at (46,141) size 673x49 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,110.00 L600.00,110.00 L600.00,150.00 L20.00,150.00 Z"]
     29            [filter="TableBlank"] RenderSVGResourceFilter {filter} at (20,110) size 580x40
    2430          RenderSVGText {text} at (20,170) size 301x18 contains 1 chunk(s)
    2531            RenderSVGInlineText {#text} at (0,-15) size 301x18
    2632              chunk 1 text run 1 at (20.00,170.00) startOffset 0 endOffset 41 width 301.00: "type: table [0] -- Result should be black"
    27           RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=TableFull] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     33          RenderPath {rect} at (46,258) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,210.00 L600.00,210.00 L600.00,250.00 L20.00,250.00 Z"]
     34            [filter="TableFull"] RenderSVGResourceFilter {filter} at (20,210) size 580x40
    2835          RenderSVGText {text} at (20,270) size 304x18 contains 1 chunk(s)
    2936            RenderSVGInlineText {#text} at (0,-15) size 304x18
    3037              chunk 1 text run 1 at (20.00,270.00) startOffset 0 endOffset 41 width 304.00: "type: table [1] -- Result should be green"
    31           RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [filter=TableOrd] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     38          RenderPath {rect} at (46,373) size 673x47 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#00FF00), (1.00,#000000)]] [bounding box mode=0] [start=(10,0)] [end=(590,0)]}] [data="M20.00,310.00 L600.00,310.00 L600.00,350.00 L20.00,350.00 Z"]
     39            [filter="TableOrd"] RenderSVGResourceFilter {filter} at (20,310) size 580x40
    3240          RenderSVGText {text} at (20,370) size 463x18 contains 1 chunk(s)
    3341            RenderSVGInlineText {#text} at (0,-15) size 463x18
  • trunk/LayoutTests/platform/mac/svg/custom/feDisplacementMap-01-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="ResultImage" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    65    RenderSVGContainer {g} at (0,0) size 111x111
    76      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    8       RenderPath {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [filter=ResultImage] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
     7        RenderSVGResourceFilter {filter} [id="ResultImage"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     8          [primitve="Map" [type=IMAGE] ]
     9          [primitve="Texture" [type=IMAGE] ]
     10          [last primitive [type=DISPLACEMENT-MAP]  [in2=502960368] [scale=100.00] [x channel selector=RED] [y channel selector=GREEN]]
     11      RenderPath {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
     12        [filter="ResultImage"] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
    913      RenderPath {rect} at (0,0) size 101x101 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt

    r55289 r57880  
    1 KCanvasResource {id="myfilter" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    76      RenderSVGResourceClipper {clipPath} [id="myclip"] [clipPathUnits=userSpaceOnUse]
    87        RenderPath {path} at (0,0) size 100x100 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
    9     RenderSVGImage {image} at (0,0) size 100x75 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-25.00)}] [filter=myfilter]
     8      RenderSVGResourceFilter {filter} [id="myfilter"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9        [last primitive ]
     10    RenderSVGImage {image} at (0,0) size 100x75 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-25.00)}]
    1011      [clipPath="myclip"] RenderSVGResourceClipper {clipPath} at (0,0) size 100x100
     12      [filter="myfilter"] RenderSVGResourceFilter {filter} at (-50.30,9) size 603.60x492
    1113    RenderSVGText {text} at (0,125) size 542x18 contains 1 chunk(s)
    1214      RenderSVGInlineText {#text} at (0,-14) size 542x18
  • trunk/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt

    r56693 r57880  
    11KRenderingPaintServer {id="grad" [type=LINEAR-GRADIENT] [stops=[(0.00,#008000)]] [start=(0,0)] [end=(1,0)]}
    2 KCanvasResource {id="blurxy" [type=FILTER]  [bounding box=at (0,0) size 0x0] [bounding box mode=0]}
    32layer at (0,0) size 800x600
    43  RenderView at (0,0) size 800x600
     
    109      RenderSVGHiddenContainer {linearGradient} at (0,0) size 0x0
    1110        RenderSVGGradientStop {stop} at (0,0) size 0x0
     11    RenderSVGResourceFilter {filter} [id="blurxy"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     12      [last primitive ]
    1213    RenderSVGResourceMarker {marker} [id="marker1"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
    1314      RenderPath {rect} at (0,0) size 4x4 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L10.00,0.00 L10.00,10.00 L0.00,10.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/custom/non-opaque-filters-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="gblur" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="gblur"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive ]
    78    RenderSVGContainer {g} at (0,0) size 96x44 [opacity=0.50]
    8       RenderPath {rect} at (0,0) size 96x44 [fill={[type=SOLID] [color=#008000]}] [filter=gblur] [data="M0.00,0.00 L87.00,0.00 L87.00,40.00 L0.00,40.00 Z"]
     9      RenderPath {rect} at (0,0) size 96x44 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00 L87.00,0.00 L87.00,40.00 L0.00,40.00 Z"]
     10        [filter="gblur"] RenderSVGResourceFilter {filter} at (-8.70,-4) size 104.40x48
    911    RenderSVGText {text} at (0,60) size 139x18 contains 1 chunk(s)
    1012      RenderSVGInlineText {#text} at (0,-14) size 139x18
  • trunk/LayoutTests/platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt

    r55289 r57880  
    1 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [primitve="blur" ]
     8        [last primitive ]
    79      RenderSVGResourceClipper {clipPath} [id="clip"] [clipPathUnits=objectBoundingBox]
    810        RenderPath {circle} at (0,0) size 1x1 [fill={[type=SOLID] [color=#000000]}] [data="M1.00,0.50 L1.00,0.53 L1.00,0.56 L0.99,0.59 L0.98,0.62 L0.98,0.65 L0.96,0.68 L0.95,0.71 L0.94,0.74 L0.92,0.77 L0.90,0.79 L0.89,0.82 L0.86,0.84 L0.84,0.86 L0.82,0.89 L0.79,0.90 L0.77,0.92 L0.74,0.94 L0.71,0.95 L0.68,0.96 L0.65,0.98 L0.62,0.98 L0.59,0.99 L0.56,1.00 L0.53,1.00 L0.50,1.00 L0.47,1.00 L0.44,1.00 L0.41,0.99 L0.38,0.98 L0.35,0.98 L0.32,0.96 L0.29,0.95 L0.26,0.94 L0.23,0.92 L0.21,0.90 L0.18,0.89 L0.16,0.86 L0.14,0.84 L0.11,0.82 L0.10,0.79 L0.08,0.77 L0.06,0.74 L0.05,0.71 L0.04,0.68 L0.02,0.65 L0.02,0.62 L0.01,0.59 L0.00,0.56 L0.00,0.53 L0.00,0.50 L0.00,0.47 L0.00,0.44 L0.01,0.41 L0.02,0.38 L0.02,0.35 L0.04,0.32 L0.05,0.29 L0.06,0.26 L0.08,0.23 L0.10,0.21 L0.11,0.18 L0.14,0.16 L0.16,0.14 L0.18,0.11 L0.21,0.10 L0.23,0.08 L0.26,0.06 L0.29,0.05 L0.32,0.04 L0.35,0.02 L0.38,0.02 L0.41,0.01 L0.44,0.00 L0.47,0.00 L0.50,0.00 L0.53,0.00 L0.56,0.00 L0.59,0.01 L0.62,0.02 L0.65,0.02 L0.68,0.04 L0.71,0.05 L0.74,0.06 L0.77,0.08 L0.79,0.10 L0.82,0.11 L0.84,0.14 L0.86,0.16 L0.89,0.18 L0.90,0.21 L0.92,0.23 L0.94,0.26 L0.95,0.29 L0.96,0.32 L0.98,0.35 L0.98,0.38 L0.99,0.41 L1.00,0.44 L1.00,0.47 Z"]
     
    1416      RenderPath {rect} at (10,130) size 100x100 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,130.00 L110.00,130.00 L110.00,230.00 L10.00,230.00 Z"]
    1517        [clipPath="clip"] RenderSVGResourceClipper {clipPath} at (10,130) size 100x100
    16       RenderPath {rect} at (0,240) size 121x120 [fill={[type=SOLID] [color=#008000]}] [filter=filter] [data="M10.00,250.00 L110.00,250.00 L110.00,350.00 L10.00,350.00 Z"]
     18      RenderPath {rect} at (0,240) size 121x120 [fill={[type=SOLID] [color=#008000]}] [data="M10.00,250.00 L110.00,250.00 L110.00,350.00 L10.00,350.00 Z"]
     19        [filter="filter"] RenderSVGResourceFilter {filter} at (0,240) size 120x120
  • trunk/LayoutTests/platform/mac/svg/custom/text-filter-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="myfilter" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="myfilter"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive ]
    78    RenderSVGText {text} at (4,60) size 567x63 contains 1 chunk(s)
     9      [filter="myfilter"] RenderSVGResourceFilter {filter} at (-52.70,4.70) size 680.40x75.60
    810      RenderSVGInlineText {#text} at (0,-49) size 567x63
     11        [filter="myfilter"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    912        chunk 1 text run 1 at (4.00,60.00) startOffset 0 endOffset 26 width 567.00: "This text should be blury."
  • trunk/LayoutTests/platform/mac/svg/custom/visibility-override-filter-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="myfilter" [type=FILTER] }
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="myfilter"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive [type=FLOOD]  [color=#008000] [opacity=1.00]]
    78    RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
    8     RenderSVGContainer {g} at (0,0) size 100x100 [filter=myfilter]
     9    RenderSVGContainer {g} at (0,0) size 100x100
     10      [filter="myfilter"] RenderSVGResourceFilter {filter} at (0,0) size 100x100
    911      RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/filters/big-sized-filter-2-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (0,0) size 20000x20000] [bounding box mode=0]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     7        [last primitive [type=FLOOD]  [color=#008000] [opacity=1.00]]
    78    RenderSVGContainer {g} at (0,0) size 800x600
    8       RenderPath {rect} at (0,0) size 800x600 [fill={[type=SOLID] [color=#FF0000]}] [filter=filter] [data="M0.00,0.00 L20.00,0.00 L20.00,20.00 L0.00,20.00 Z"]
     9      RenderPath {rect} at (0,0) size 800x600 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L20.00,0.00 L20.00,20.00 L0.00,20.00 Z"]
     10        [filter="filter"] RenderSVGResourceFilter {filter} at (0,0) size 20000x20000
  • trunk/LayoutTests/platform/mac/svg/filters/big-sized-filter-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="gradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#008000), (0.10,#FF0000)]] [start=(0,0)] [end=(1,1)]}
    2 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    32layer at (0,0) size 800x600
    43  RenderView at (0,0) size 800x600
     
    98        RenderSVGGradientStop {stop} at (0,0) size 0x0
    109        RenderSVGGradientStop {stop} at (0,0) size 0x0
     10      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
    1112    RenderSVGContainer {g} at (0,0) size 800x600
    12       RenderPath {rect} at (0,0) size 800x600 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#008000), (0.10,#FF0000)]] [start=(0,0)] [end=(1,1)]}] [filter=filter] [data="M0.00,0.00 L20000.00,0.00 L20000.00,20000.00 L0.00,20000.00 Z"]
     13      RenderPath {rect} at (0,0) size 800x600 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#008000), (0.10,#FF0000)]] [start=(0,0)] [end=(1,1)]}] [data="M0.00,0.00 L20000.00,0.00 L20000.00,20000.00 L0.00,20000.00 Z"]
     14        [filter="filter"] RenderSVGResourceFilter {filter} at (-2000,-2000) size 24000x24000
  • trunk/LayoutTests/platform/mac/svg/filters/feColorMatrix-values-expected.txt

    r56358 r57880  
    1 KCanvasResource {id="satfull" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    2 KCanvasResource {id="matnull" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    3 KCanvasResource {id="satnull" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    4 KCanvasResource {id="huenull" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    5 KCanvasResource {id="matbad" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    6 KCanvasResource {id="satbad" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    7 KCanvasResource {id="huebad" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    8 KCanvasResource {id="satrange" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    9 KCanvasResource {id="huerange" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    101layer at (0,0) size 800x600
    112  RenderView at (0,0) size 800x600
     
    134  RenderSVGRoot {svg} at (0,0) size 800x600
    145    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="satfull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive ]
     8      RenderSVGResourceFilter {filter} [id="matnull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9        [last primitive ]
     10      RenderSVGResourceFilter {filter} [id="satnull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11        [last primitive ]
     12      RenderSVGResourceFilter {filter} [id="huenull"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13        [last primitive ]
     14      RenderSVGResourceFilter {filter} [id="matbad"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15      RenderSVGResourceFilter {filter} [id="satbad"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     16      RenderSVGResourceFilter {filter} [id="huebad"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17      RenderSVGResourceFilter {filter} [id="satrange"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     18      RenderSVGResourceFilter {filter} [id="huerange"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19        [last primitive ]
    1520    RenderSVGContainer {g} at (0,0) size 441x441
    16       RenderPath {rect} at (0,0) size 441x441 [fill={[type=SOLID] [color=#00FF00]}] [filter=satfull] [data="M0.00,0.00 L400.00,0.00 L400.00,400.00 L0.00,400.00 Z"]
     21      RenderPath {rect} at (0,0) size 441x441 [fill={[type=SOLID] [color=#00FF00]}] [data="M0.00,0.00 L400.00,0.00 L400.00,400.00 L0.00,400.00 Z"]
     22        [filter="satfull"] RenderSVGResourceFilter {filter} at (-40,-40) size 480x480
    1723      RenderPath {rect} at (2,2) size 196x396 [fill={[type=SOLID] [color=#FF0000]}] [data="M2.00,2.00 L198.00,2.00 L198.00,398.00 L2.00,398.00 Z"]
    1824      RenderSVGText {text} at (10,40) size 171x28 contains 1 chunk(s)
     
    2228        RenderSVGInlineText {#text} at (0,-22) size 70x28
    2329          chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 7 width 70.00: "matrix."
    24       RenderPath {rect} at (0,0) size 221x115 [fill={[type=SOLID] [color=#00FF00]}] [filter=matnull] [data="M0.00,0.00 L200.00,0.00 L200.00,104.00 L0.00,104.00 Z"]
     30      RenderPath {rect} at (0,0) size 221x115 [fill={[type=SOLID] [color=#00FF00]}] [data="M0.00,0.00 L200.00,0.00 L200.00,104.00 L0.00,104.00 Z"]
     31        [filter="matnull"] RenderSVGResourceFilter {filter} at (-20,-10.40) size 240x124.80
    2532      RenderSVGText {text} at (10,140) size 171x28 contains 1 chunk(s)
    2633        RenderSVGInlineText {#text} at (0,-22) size 171x28
     
    2936        RenderSVGInlineText {#text} at (0,-22) size 82x28
    3037          chunk 1 text run 1 at (10.00,170.00) startOffset 0 endOffset 9 width 82.00: "saturate."
    31       RenderPath {rect} at (0,89) size 221x126 [fill={[type=SOLID] [color=#00FF00]}] [filter=satnull] [data="M0.00,100.00 L200.00,100.00 L200.00,204.00 L0.00,204.00 Z"]
     38      RenderPath {rect} at (0,89) size 221x126 [fill={[type=SOLID] [color=#00FF00]}] [data="M0.00,100.00 L200.00,100.00 L200.00,204.00 L0.00,204.00 Z"]
     39        [filter="satnull"] RenderSVGResourceFilter {filter} at (-20,89.60) size 240x124.80
    3240      RenderSVGText {text} at (10,240) size 171x28 contains 1 chunk(s)
    3341        RenderSVGInlineText {#text} at (0,-22) size 171x28
     
    3644        RenderSVGInlineText {#text} at (0,-22) size 105x28
    3745          chunk 1 text run 1 at (10.00,270.00) startOffset 0 endOffset 10 width 105.00: "hueRotate."
    38       RenderPath {rect} at (0,189) size 221x126 [fill={[type=SOLID] [color=#00FF00]}] [filter=huenull] [data="M0.00,200.00 L200.00,200.00 L200.00,304.00 L0.00,304.00 Z"]
     46      RenderPath {rect} at (0,189) size 221x126 [fill={[type=SOLID] [color=#00FF00]}] [data="M0.00,200.00 L200.00,200.00 L200.00,304.00 L0.00,304.00 Z"]
     47        [filter="huenull"] RenderSVGResourceFilter {filter} at (-20,189.60) size 240x124.80
    3948      RenderSVGText {text} at (10,340) size 152x28 contains 1 chunk(s)
    4049        RenderSVGInlineText {#text} at (0,-22) size 152x28
     
    4352        RenderSVGInlineText {#text} at (0,-22) size 105x28
    4453          chunk 1 text run 1 at (10.00,370.00) startOffset 0 endOffset 10 width 105.00: "hueRotate."
    45       RenderPath {rect} at (0,290) size 221x119 [fill={[type=SOLID] [color=#00FF00]}] [filter=huerange] [data="M0.00,300.00 L200.00,300.00 L200.00,399.00 L0.00,399.00 Z"]
    46       RenderPath {rect} at (182,0) size 236x108 [fill={[type=SOLID] [color=#FF0000]}] [filter=matbad] [data="M202.00,2.00 L398.00,2.00 L398.00,98.00 L202.00,98.00 Z"]
     54      RenderPath {rect} at (0,290) size 221x119 [fill={[type=SOLID] [color=#00FF00]}] [data="M0.00,300.00 L200.00,300.00 L200.00,399.00 L0.00,399.00 Z"]
     55        [filter="huerange"] RenderSVGResourceFilter {filter} at (-20,290.10) size 240x118.80
     56      RenderPath {rect} at (182,0) size 236x108 [fill={[type=SOLID] [color=#FF0000]}] [data="M202.00,2.00 L398.00,2.00 L398.00,98.00 L202.00,98.00 Z"]
     57        [filter="matbad"] RenderSVGResourceFilter {filter} at (182.40,-7.60) size 235.20x115.20
    4758      RenderSVGText {text} at (210,40) size 139x28 contains 1 chunk(s)
     59        [filter="matbad"] RenderSVGResourceFilter {filter} at (196.10,15.20) size 166.80x33.60
    4860        RenderSVGInlineText {#text} at (0,-22) size 139x28
     61          [filter="matbad"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    4962          chunk 1 text run 1 at (210.00,40.00) startOffset 0 endOffset 14 width 139.00: "Invalid matrix"
    5063      RenderSVGText {text} at (210,70) size 156x28 contains 1 chunk(s)
     64        [filter="matbad"] RenderSVGResourceFilter {filter} at (194.40,45.20) size 187.20x33.60
    5165        RenderSVGInlineText {#text} at (0,-22) size 156x28
     66          [filter="matbad"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    5267          chunk 1 text run 1 at (210.00,70.00) startOffset 0 endOffset 17 width 156.00: "values attribute."
    53       RenderPath {rect} at (182,92) size 236x116 [fill={[type=SOLID] [color=#FF0000]}] [filter=huebad] [data="M202.00,102.00 L398.00,102.00 L398.00,198.00 L202.00,198.00 Z"]
     68      RenderPath {rect} at (182,92) size 236x116 [fill={[type=SOLID] [color=#FF0000]}] [data="M202.00,102.00 L398.00,102.00 L398.00,198.00 L202.00,198.00 Z"]
     69        [filter="huebad"] RenderSVGResourceFilter {filter} at (182.40,92.40) size 235.20x115.20
    5470      RenderSVGText {text} at (210,140) size 151x28 contains 1 chunk(s)
     71        [filter="huebad"] RenderSVGResourceFilter {filter} at (194.90,115.20) size 181.20x33.60
    5572        RenderSVGInlineText {#text} at (0,-22) size 151x28
     73          [filter="huebad"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    5674          chunk 1 text run 1 at (210.00,140.00) startOffset 0 endOffset 16 width 151.00: "Invalid saturate"
    5775      RenderSVGText {text} at (210,170) size 156x28 contains 1 chunk(s)
     76        [filter="huebad"] RenderSVGResourceFilter {filter} at (194.40,145.20) size 187.20x33.60
    5877        RenderSVGInlineText {#text} at (0,-22) size 156x28
     78          [filter="huebad"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    5979          chunk 1 text run 1 at (210.00,170.00) startOffset 0 endOffset 17 width 156.00: "values attribute."
    60       RenderPath {rect} at (182,192) size 236x116 [fill={[type=SOLID] [color=#FF0000]}] [filter=satbad] [data="M202.00,202.00 L398.00,202.00 L398.00,298.00 L202.00,298.00 Z"]
     80      RenderPath {rect} at (182,192) size 236x116 [fill={[type=SOLID] [color=#FF0000]}] [data="M202.00,202.00 L398.00,202.00 L398.00,298.00 L202.00,298.00 Z"]
     81        [filter="satbad"] RenderSVGResourceFilter {filter} at (182.40,192.40) size 235.20x115.20
    6182      RenderSVGText {text} at (210,240) size 174x28 contains 1 chunk(s)
     83        [filter="satbad"] RenderSVGResourceFilter {filter} at (192.60,215.20) size 208.80x33.60
    6284        RenderSVGInlineText {#text} at (0,-22) size 174x28
     85          [filter="satbad"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    6386          chunk 1 text run 1 at (210.00,240.00) startOffset 0 endOffset 17 width 174.00: "Invalid hueRotate"
    6487      RenderSVGText {text} at (210,270) size 156x28 contains 1 chunk(s)
     88        [filter="satbad"] RenderSVGResourceFilter {filter} at (194.40,245.20) size 187.20x33.60
    6589        RenderSVGInlineText {#text} at (0,-22) size 156x28
     90          [filter="satbad"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    6691          chunk 1 text run 1 at (210.00,270.00) startOffset 0 endOffset 17 width 156.00: "values attribute."
    67       RenderPath {rect} at (182,292) size 236x116 [fill={[type=SOLID] [color=#FF0000]}] [filter=satrange] [data="M202.00,302.00 L398.00,302.00 L398.00,398.00 L202.00,398.00 Z"]
     92      RenderPath {rect} at (182,292) size 236x116 [fill={[type=SOLID] [color=#FF0000]}] [data="M202.00,302.00 L398.00,302.00 L398.00,398.00 L202.00,398.00 Z"]
     93        [filter="satrange"] RenderSVGResourceFilter {filter} at (182.40,292.40) size 235.20x115.20
    6894      RenderSVGText {text} at (210,340) size 162x28 contains 1 chunk(s)
     95        [filter="satrange"] RenderSVGResourceFilter {filter} at (193.80,315.20) size 194.40x33.60
    6996        RenderSVGInlineText {#text} at (0,-22) size 162x28
     97          [filter="satrange"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    7098          chunk 1 text run 1 at (210.00,340.00) startOffset 0 endOffset 16 width 162.00: "Saturate must be"
    7199      RenderSVGText {text} at (210,370) size 164x28 contains 1 chunk(s)
     100        [filter="satrange"] RenderSVGResourceFilter {filter} at (193.60,345.20) size 196.80x33.60
    72101        RenderSVGInlineText {#text} at (0,-22) size 164x28
     102          [filter="satrange"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    73103          chunk 1 text run 1 at (210.00,370.00) startOffset 0 endOffset 16 width 164.00: "between 0 and 1."
  • trunk/LayoutTests/platform/mac/svg/filters/feComposite-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="over" [type=FILTER]  [effect bounding box mode=1]}
    2 KCanvasResource {id="in" [type=FILTER]  [effect bounding box mode=1]}
    3 KCanvasResource {id="out" [type=FILTER]  [effect bounding box mode=1]}
    4 KCanvasResource {id="atop" [type=FILTER]  [effect bounding box mode=1]}
    5 KCanvasResource {id="xor" [type=FILTER]  [effect bounding box mode=1]}
    6 KCanvasResource {id="arithmetic" [type=FILTER]  [effect bounding box mode=1]}
    71layer at (0,0) size 800x600
    82  RenderView at (0,0) size 800x600
     
    104  RenderSVGRoot {svg} at (0,0) size 400x400
    115    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    12     RenderPath {rect} at (10,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [filter=over] [data="M10.00,10.00 L60.00,10.00 L60.00,60.00 L10.00,60.00 Z"]
     6      RenderSVGResourceFilter {filter} [id="over"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7        [primitve="res2" [type=FLOOD]  [color=#0000FF] [opacity=0.50]]
     8        [primitve="res1" [type=FLOOD]  [color=#FF0000] [opacity=0.50]]
     9        [last primitive ]
     10      RenderSVGResourceFilter {filter} [id="in"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     11        [primitve="res2" [type=FLOOD]  [color=#0000FF] [opacity=0.50]]
     12        [primitve="res1" [type=FLOOD]  [color=#FF0000] [opacity=0.50]]
     13        [last primitive ]
     14      RenderSVGResourceFilter {filter} [id="out"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [primitve="res2" [type=FLOOD]  [color=#0000FF] [opacity=0.50]]
     16        [primitve="res1" [type=FLOOD]  [color=#FF0000] [opacity=0.50]]
     17        [last primitive ]
     18      RenderSVGResourceFilter {filter} [id="atop"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     19        [primitve="res2" [type=FLOOD]  [color=#0000FF] [opacity=0.50]]
     20        [primitve="res1" [type=FLOOD]  [color=#FF0000] [opacity=0.50]]
     21        [last primitive ]
     22      RenderSVGResourceFilter {filter} [id="xor"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     23        [primitve="res2" [type=FLOOD]  [color=#0000FF] [opacity=0.50]]
     24        [primitve="res1" [type=FLOOD]  [color=#FF0000] [opacity=0.50]]
     25        [last primitive ]
     26      RenderSVGResourceFilter {filter} [id="arithmetic"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     27        [primitve="res2" [type=FLOOD]  [color=#0000FF] [opacity=0.50]]
     28        [primitve="res1" [type=FLOOD]  [color=#FF0000] [opacity=0.20]]
     29        [last primitive ]
     30    RenderPath {rect} at (10,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M10.00,10.00 L60.00,10.00 L60.00,60.00 L10.00,60.00 Z"]
     31      [filter="over"] RenderSVGResourceFilter {filter} at (10,10) size 50x50
    1332    RenderSVGText {text} at (10,90) size 28x18 contains 1 chunk(s)
    1433      RenderSVGInlineText {#text} at (0,-14) size 28x18
    1534        chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 4 width 28.00: "over"
    16     RenderPath {rect} at (70,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [filter=in] [data="M70.00,10.00 L120.00,10.00 L120.00,60.00 L70.00,60.00 Z"]
     35    RenderPath {rect} at (70,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M70.00,10.00 L120.00,10.00 L120.00,60.00 L70.00,60.00 Z"]
     36      [filter="in"] RenderSVGResourceFilter {filter} at (70,10) size 50x50
    1737    RenderSVGText {text} at (70,90) size 12x18 contains 1 chunk(s)
    1838      RenderSVGInlineText {#text} at (0,-14) size 12x18
    1939        chunk 1 text run 1 at (70.00,90.00) startOffset 0 endOffset 2 width 12.00: "in"
    20     RenderPath {rect} at (130,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [filter=out] [data="M130.00,10.00 L180.00,10.00 L180.00,60.00 L130.00,60.00 Z"]
     40    RenderPath {rect} at (130,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M130.00,10.00 L180.00,10.00 L180.00,60.00 L130.00,60.00 Z"]
     41      [filter="out"] RenderSVGResourceFilter {filter} at (130,10) size 50x50
    2142    RenderSVGText {text} at (130,90) size 20x18 contains 1 chunk(s)
    2243      RenderSVGInlineText {#text} at (0,-14) size 20x18
    2344        chunk 1 text run 1 at (130.00,90.00) startOffset 0 endOffset 3 width 20.00: "out"
    24     RenderPath {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [filter=atop] [data="M10.00,110.00 L60.00,110.00 L60.00,160.00 L10.00,160.00 Z"]
     45    RenderPath {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M10.00,110.00 L60.00,110.00 L60.00,160.00 L10.00,160.00 Z"]
     46      [filter="atop"] RenderSVGResourceFilter {filter} at (10,110) size 50x50
    2547    RenderSVGText {text} at (10,190) size 27x18 contains 1 chunk(s)
    2648      RenderSVGInlineText {#text} at (0,-14) size 27x18
    2749        chunk 1 text run 1 at (10.00,190.00) startOffset 0 endOffset 4 width 27.00: "atop"
    28     RenderPath {rect} at (70,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [filter=xor] [data="M70.00,110.00 L120.00,110.00 L120.00,160.00 L70.00,160.00 Z"]
     50    RenderPath {rect} at (70,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M70.00,110.00 L120.00,110.00 L120.00,160.00 L70.00,160.00 Z"]
     51      [filter="xor"] RenderSVGResourceFilter {filter} at (70,110) size 50x50
    2952    RenderSVGText {text} at (70,190) size 21x18 contains 1 chunk(s)
    3053      RenderSVGInlineText {#text} at (0,-14) size 21x18
    3154        chunk 1 text run 1 at (70.00,190.00) startOffset 0 endOffset 3 width 21.00: "xor"
    32     RenderPath {rect} at (130,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [filter=arithmetic] [data="M130.00,110.00 L180.00,110.00 L180.00,160.00 L130.00,160.00 Z"]
     55    RenderPath {rect} at (130,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M130.00,110.00 L180.00,110.00 L180.00,160.00 L130.00,160.00 Z"]
     56      [filter="arithmetic"] RenderSVGResourceFilter {filter} at (130,110) size 50x50
    3357    RenderSVGText {text} at (130,190) size 62x18 contains 1 chunk(s)
    3458      RenderSVGInlineText {#text} at (0,-14) size 62x18
  • trunk/LayoutTests/platform/mac/svg/filters/feDisplacementMap-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="linGrad" [type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#00FF00)]] [start=(0,0)] [end=(1,1)]}
    22KRenderingPaintServer {id="radGrad" [type=RADIAL-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#00FF00)]] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]}
    3 KCanvasResource {id="f1" [type=FILTER]  [effect bounding box mode=1]}
    43layer at (0,0) size 800x600
    54  RenderView at (0,0) size 800x600
     
    1312        RenderSVGGradientStop {stop} at (0,0) size 0x0
    1413        RenderSVGGradientStop {stop} at (0,0) size 0x0
    15     RenderSVGImage {image} at (10,10) size 100x100 [filter=f1]
    16     RenderSVGImage {image} at (130,10) size 100x100 [filter=f1]
     14      RenderSVGResourceFilter {filter} [id="f1"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [primitve="flood2" [type=FLOOD]  [color=#000000] [opacity=1.00]]
     16        [primitve="flood1" [type=FLOOD]  [color=#000000] [opacity=1.00]]
     17        [primitve="tile" [type=TILE]]
     18        [primitve="pair" ]
     19        [last primitive [type=DISPLACEMENT-MAP]  [in2=559671248] [scale=64.00] [x channel selector=RED] [y channel selector=GREEN]]
     20    RenderSVGImage {image} at (10,10) size 100x100
     21      [filter="f1"] RenderSVGResourceFilter {filter} at (10,10) size 100x100
     22    RenderSVGImage {image} at (130,10) size 100x100
     23      [filter="f1"] RenderSVGResourceFilter {filter} at (130,10) size 100x100
  • trunk/LayoutTests/platform/mac/svg/filters/feGaussianBlur-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="0x0" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    2 KCanvasResource {id="0x5" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    3 KCanvasResource {id="5x0" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    4 KCanvasResource {id="3x3" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    5 KCanvasResource {id="1x6" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    6 KCanvasResource {id="6x1" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    7 KCanvasResource {id="2x10" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    8 KCanvasResource {id="1x1" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    9 KCanvasResource {id="10x100" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    10 KCanvasResource {id="15x15" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    111layer at (0,0) size 800x600
    122  RenderView at (0,0) size 800x600
     
    144  RenderSVGRoot {svg} at (0,0) size 800x600
    155    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    16     RenderSVGContainer {g} at (2,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,10.00)}] [filter=0x0]
     6      RenderSVGResourceFilter {filter} [id="0x0"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive ]
     8      RenderSVGResourceFilter {filter} [id="0x5"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9        [last primitive ]
     10      RenderSVGResourceFilter {filter} [id="5x0"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11        [last primitive ]
     12      RenderSVGResourceFilter {filter} [id="3x3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13        [last primitive ]
     14      RenderSVGResourceFilter {filter} [id="1x6"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     15        [last primitive ]
     16      RenderSVGResourceFilter {filter} [id="6x1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     17        [last primitive ]
     18      RenderSVGResourceFilter {filter} [id="2x10"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19        [last primitive ]
     20      RenderSVGResourceFilter {filter} [id="1x1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     21        [last primitive ]
     22      RenderSVGResourceFilter {filter} [id="10x100"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     23        [last primitive ]
     24      RenderSVGResourceFilter {filter} [id="15x15"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     25        [last primitive ]
     26    RenderSVGContainer {g} at (2,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,10.00)}]
     27      [filter="0x0"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    1728      RenderPath {rect} at (10,10) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    1829      RenderPath {rect} at (35,35) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    19     RenderSVGContainer {g} at (102,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,10.00)}] [filter=0x5]
     30    RenderSVGContainer {g} at (102,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,10.00)}]
     31      [filter="0x5"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    2032      RenderPath {rect} at (110,10) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    2133      RenderPath {rect} at (135,35) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    22     RenderSVGContainer {g} at (202,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,10.00)}] [filter=5x0]
     34    RenderSVGContainer {g} at (202,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,10.00)}]
     35      [filter="5x0"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    2336      RenderPath {rect} at (210,10) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    2437      RenderPath {rect} at (235,35) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    25     RenderSVGContainer {g} at (302,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,10.00)}] [filter=3x3]
     38    RenderSVGContainer {g} at (302,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,10.00)}]
     39      [filter="3x3"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    2640      RenderPath {rect} at (310,10) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    2741      RenderPath {rect} at (335,35) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    28     RenderSVGContainer {g} at (402,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,10.00)}] [filter=1x6]
     42    RenderSVGContainer {g} at (402,2) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,10.00)}]
     43      [filter="1x6"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    2944      RenderPath {rect} at (410,10) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    3045      RenderPath {rect} at (435,35) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    31     RenderSVGContainer {g} at (2,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}] [filter=6x1]
     46    RenderSVGContainer {g} at (2,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,110.00)}]
     47      [filter="6x1"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    3248      RenderPath {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    3349      RenderPath {rect} at (35,135) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    34     RenderSVGContainer {g} at (102,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,110.00)}] [filter=2x10]
     50    RenderSVGContainer {g} at (102,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,110.00)}]
     51      [filter="2x10"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    3552      RenderPath {rect} at (110,110) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    3653      RenderPath {rect} at (135,135) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    37     RenderSVGContainer {g} at (202,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,110.00)}] [filter=1x1]
     54    RenderSVGContainer {g} at (202,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,110.00)}]
     55      [filter="1x1"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    3856      RenderPath {rect} at (210,110) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    3957      RenderPath {rect} at (235,135) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    40     RenderSVGContainer {g} at (302,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,110.00)}] [filter=10x100]
     58    RenderSVGContainer {g} at (302,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,110.00)}]
     59      [filter="10x100"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    4160      RenderPath {rect} at (310,110) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    4261      RenderPath {rect} at (335,135) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    43     RenderSVGContainer {g} at (402,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,110.00)}] [filter=15x15]
     62    RenderSVGContainer {g} at (402,102) size 91x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,110.00)}]
     63      [filter="15x15"] RenderSVGResourceFilter {filter} at (-7.50,-7.50) size 90x90
    4464      RenderPath {rect} at (410,110) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    4565      RenderPath {rect} at (435,135) size 50x50 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/filters/feMerge-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter_1" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    2 KCanvasResource {id="filter_2" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    3 KCanvasResource {id="filter_3" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    41layer at (0,0) size 800x600
    52  RenderView at (0,0) size 800x600
     
    74  RenderSVGRoot {svg} at (0,0) size 800x600
    85    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    9     RenderPath {rect} at (0,0) size 175x175 [fill={[type=SOLID] [color=#000000]}] [filter=filter_1] [data="M10.00,10.00 L160.00,10.00 L160.00,160.00 L10.00,160.00 Z"]
    10     RenderPath {rect} at (195,0) size 180x175 [fill={[type=SOLID] [color=#000000]}] [filter=filter_2] [data="M210.00,10.00 L360.00,10.00 L360.00,160.00 L210.00,160.00 Z"]
    11     RenderPath {rect} at (395,0) size 180x175 [fill={[type=SOLID] [color=#000000]}] [filter=filter_3] [data="M410.00,10.00 L560.00,10.00 L560.00,160.00 L410.00,160.00 Z"]
     6      RenderSVGResourceFilter {filter} [id="filter_1"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7        [primitve="input2" [type=FLOOD]  [color=#0000FF] [opacity=1.00]]
     8        [primitve="input1" [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     9        [last primitive [type=MERGE] [merge inputs=[1, 1]]]
     10      RenderSVGResourceFilter {filter} [id="filter_2"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     11        [primitve="input2" [type=FLOOD]  [color=#0000FF] [opacity=1.00]]
     12        [primitve="input1" [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     13        [last primitive [type=MERGE] [merge inputs=[1, 1]]]
     14      RenderSVGResourceFilter {filter} [id="filter_3"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [primitve="input2" [type=FLOOD]  [color=#0000FF] [opacity=1.00]]
     16        [primitve="input1" [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     17        [last primitive [type=MERGE] [merge inputs=[1, 1]]]
     18    RenderPath {rect} at (0,0) size 175x175 [fill={[type=SOLID] [color=#000000]}] [data="M10.00,10.00 L160.00,10.00 L160.00,160.00 L10.00,160.00 Z"]
     19      [filter="filter_1"] RenderSVGResourceFilter {filter} at (-5,-5) size 180x180
     20    RenderPath {rect} at (195,0) size 180x175 [fill={[type=SOLID] [color=#000000]}] [data="M210.00,10.00 L360.00,10.00 L360.00,160.00 L210.00,160.00 Z"]
     21      [filter="filter_2"] RenderSVGResourceFilter {filter} at (195,-5) size 180x180
     22    RenderPath {rect} at (395,0) size 180x175 [fill={[type=SOLID] [color=#000000]}] [data="M410.00,10.00 L560.00,10.00 L560.00,160.00 L410.00,160.00 Z"]
     23      [filter="filter_3"] RenderSVGResourceFilter {filter} at (395,-5) size 180x180
  • trunk/LayoutTests/platform/mac/svg/filters/feMerge-wrong-input-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    7     RenderSVGContainer {g} at (0,0) size 0x0 [filter=filter]
     6      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7    RenderSVGContainer {g} at (0,0) size 0x0
     8      [filter="filter"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    89    RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/filters/feOffset-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter_1effect_01" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    2 KCanvasResource {id="filter_1effect_02" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    3 KCanvasResource {id="filter_1effect_03" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    4 KCanvasResource {id="filter_1effect_04" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    5 KCanvasResource {id="filter_1effect_05" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    6 KCanvasResource {id="filter_1effect_06" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    7 KCanvasResource {id="filter_1effect_07" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    81layer at (0,0) size 800x600
    92  RenderView at (0,0) size 800x600
     
    114  RenderSVGRoot {svg} at (0,0) size 800x600
    125    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="filter_1effect_01"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7        [last primitive [type=OFFSET]  [dx=0.20 dy=0.00]]
     8      RenderSVGResourceFilter {filter} [id="filter_1effect_02"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     9        [last primitive [type=OFFSET]  [dx=-0.10 dy=0.00]]
     10      RenderSVGResourceFilter {filter} [id="filter_1effect_03"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     11        [last primitive [type=OFFSET]  [dx=0.20 dy=0.00]]
     12      RenderSVGResourceFilter {filter} [id="filter_1effect_04"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     13        [last primitive [type=OFFSET]  [dx=-0.50 dy=0.00]]
     14      RenderSVGResourceFilter {filter} [id="filter_1effect_05"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [last primitive [type=OFFSET]  [dx=0.00 dy=-0.90]]
     16      RenderSVGResourceFilter {filter} [id="filter_1effect_06"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     17        [last primitive [type=OFFSET]  [dx=-1.00 dy=0.00]]
     18      RenderSVGResourceFilter {filter} [id="filter_1effect_07"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     19        [last primitive [type=OFFSET]  [dx=0.50 dy=0.00]]
    1320    RenderSVGContainer {g} at (30,30) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,10.00)}]
    14       RenderPath {rect} at (30,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_01] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     21      RenderPath {rect} at (30,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     22        [filter="filter_1effect_01"] RenderSVGResourceFilter {filter} at (20,20) size 60x60
    1523    RenderSVGContainer {g} at (130,30) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,10.00)}]
    16       RenderPath {rect} at (130,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_02] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     24      RenderPath {rect} at (130,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     25        [filter="filter_1effect_02"] RenderSVGResourceFilter {filter} at (20,20) size 60x60
    1726    RenderSVGContainer {g} at (230,30) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,10.00)}]
    18       RenderPath {rect} at (230,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_03] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     27      RenderPath {rect} at (230,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     28        [filter="filter_1effect_03"] RenderSVGResourceFilter {filter} at (20,20) size 60x60
    1929    RenderSVGContainer {g} at (330,30) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,10.00)}]
    20       RenderPath {rect} at (330,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_04] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     30      RenderPath {rect} at (330,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     31        [filter="filter_1effect_04"] RenderSVGResourceFilter {filter} at (20,20) size 60x60
    2132    RenderSVGContainer {g} at (430,30) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,10.00)}]
    22       RenderPath {rect} at (430,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_05] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     33      RenderPath {rect} at (430,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     34        [filter="filter_1effect_05"] RenderSVGResourceFilter {filter} at (20,20) size 60x60
    2335    RenderSVGContainer {g} at (530,30) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(510.00,10.00)}]
    24       RenderPath {rect} at (530,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_06] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     36      RenderPath {rect} at (530,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     37        [filter="filter_1effect_06"] RenderSVGResourceFilter {filter} at (20,20) size 60x60
    2538    RenderSVGContainer {g} at (630,30) size 60x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(610.00,10.00)}]
    26       RenderPath {rect} at (630,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_07] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     39      RenderPath {rect} at (630,30) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     40        [filter="filter_1effect_07"] RenderSVGResourceFilter {filter} at (20,20) size 60x60
  • trunk/LayoutTests/platform/mac/svg/filters/feTile-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="gradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (1.00,#0000FF)]] [start=(0,0)] [end=(1,1)]}
    2 KCanvasResource {id="filter_1" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 200.00%x200.00%] [effect bounding box mode=1]}
    3 KCanvasResource {id="filter_2" [type=FILTER]  [bounding box=at (0.00%,0.00%) size 200.00%x200.00%] [effect bounding box mode=1]}
    4 KCanvasResource {id="filter_3" [type=FILTER]  [bounding box=at (-25.00%,-25.00%) size 200.00%x200.00%] [effect bounding box mode=1]}
    52layer at (0,0) size 800x600
    63  RenderView at (0,0) size 800x600
     
    118        RenderSVGGradientStop {stop} at (0,0) size 0x0
    129        RenderSVGGradientStop {stop} at (0,0) size 0x0
     10      RenderSVGResourceFilter {filter} [id="filter_1"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     11        [last primitive [type=TILE]]
     12      RenderSVGResourceFilter {filter} [id="filter_2"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     13        [last primitive [type=TILE]]
     14      RenderSVGResourceFilter {filter} [id="filter_3"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [last primitive [type=TILE]]
    1316    RenderSVGContainer {g} at (0,0) size 420x160
    14       RenderPath {rect} at (0,0) size 160x160 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (1.00,#0000FF)]] [start=(0,0)] [end=(1,1)]}] [filter=filter_1] [data="M10.00,10.00 L110.00,10.00 L110.00,110.00 L10.00,110.00 Z"]
    15       RenderPath {rect} at (160,10) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (1.00,#0000FF)]] [start=(0,0)] [end=(1,1)]}] [filter=filter_2] [data="M160.00,10.00 L210.00,10.00 L210.00,60.00 L160.00,60.00 Z"]
    16       RenderPath {rect} at (319,9) size 101x101 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (1.00,#0000FF)]] [start=(0,0)] [end=(1,1)]}] [filter=filter_3] [data="M332.00,22.00 L382.00,22.00 L382.00,72.00 L332.00,72.00 Z"]
     17      RenderPath {rect} at (0,0) size 160x160 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (1.00,#0000FF)]] [start=(0,0)] [end=(1,1)]}] [data="M10.00,10.00 L110.00,10.00 L110.00,110.00 L10.00,110.00 Z"]
     18        [filter="filter_1"] RenderSVGResourceFilter {filter} at (-40,-40) size 200x200
     19      RenderPath {rect} at (160,10) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (1.00,#0000FF)]] [start=(0,0)] [end=(1,1)]}] [data="M160.00,10.00 L210.00,10.00 L210.00,60.00 L160.00,60.00 Z"]
     20        [filter="filter_2"] RenderSVGResourceFilter {filter} at (160,10) size 100x100
     21      RenderPath {rect} at (319,9) size 101x101 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFFFFF), (1.00,#0000FF)]] [start=(0,0)] [end=(1,1)]}] [data="M332.00,22.00 L382.00,22.00 L382.00,72.00 L332.00,72.00 Z"]
     22        [filter="filter_3"] RenderSVGResourceFilter {filter} at (319.50,9.50) size 100x100
  • trunk/LayoutTests/platform/mac/svg/filters/filter-clip-expected.txt

    r55289 r57880  
    1 KCanvasResource {id="blur" [type=FILTER]  [bounding box=at (-20.00%,-20.00%) size 140.00%x140.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    87        RenderPath {rect} at (0,0) size 140x140 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00 L140.00,0.00 L140.00,140.00 L0.00,140.00 Z"]
    98        RenderPath {circle} at (30,30) size 80x80 [fill={[type=SOLID] [color=#FFFF00]}] [data="M110.00,70.00 L109.92,72.51 L109.68,75.01 L109.29,77.50 L108.74,79.95 L108.04,82.36 L107.19,84.72 L106.19,87.03 L105.05,89.27 L103.77,91.43 L102.36,93.51 L100.82,95.50 L99.16,97.38 L97.38,99.16 L95.50,100.82 L93.51,102.36 L91.43,103.77 L89.27,105.05 L87.03,106.19 L84.72,107.19 L82.36,108.04 L79.95,108.74 L77.50,109.29 L75.01,109.68 L72.51,109.92 L70.00,110.00 L67.49,109.92 L64.99,109.68 L62.50,109.29 L60.05,108.74 L57.64,108.04 L55.28,107.19 L52.97,106.19 L50.73,105.05 L48.57,103.77 L46.49,102.36 L44.50,100.82 L42.62,99.16 L40.84,97.38 L39.18,95.50 L37.64,93.51 L36.23,91.43 L34.95,89.27 L33.81,87.03 L32.81,84.72 L31.96,82.36 L31.26,79.95 L30.71,77.50 L30.32,75.01 L30.08,72.51 L30.00,70.00 L30.08,67.49 L30.32,64.99 L30.71,62.50 L31.26,60.05 L31.96,57.64 L32.81,55.28 L33.81,52.97 L34.95,50.73 L36.23,48.57 L37.64,46.49 L39.18,44.50 L40.84,42.62 L42.62,40.84 L44.50,39.18 L46.49,37.64 L48.57,36.23 L50.73,34.95 L52.97,33.81 L55.28,32.81 L57.64,31.96 L60.05,31.26 L62.50,30.71 L64.99,30.32 L67.49,30.08 L70.00,30.00 L72.51,30.08 L75.01,30.32 L77.50,30.71 L79.95,31.26 L82.36,31.96 L84.72,32.81 L87.03,33.81 L89.27,34.95 L91.43,36.23 L93.51,37.64 L95.50,39.18 L97.38,40.84 L99.16,42.62 L100.82,44.50 L102.36,46.49 L103.77,48.57 L105.05,50.73 L106.19,52.97 L107.19,55.28 L108.04,57.64 L108.74,60.05 L109.29,62.50 L109.68,64.99 L109.92,67.49 Z"]
     9      RenderSVGResourceFilter {filter} [id="blur"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     10        [last primitive ]
    1011      RenderSVGResourceClipper {clipPath} [id="clip"] [clipPathUnits=userSpaceOnUse]
    1112        RenderPath {circle} at (20,20) size 100x100 [fill={[type=SOLID] [color=#000000]}] [data="M120.00,70.00 L119.90,73.14 L119.61,76.27 L119.11,79.37 L118.43,82.43 L117.55,85.45 L116.49,88.41 L115.24,91.29 L113.82,94.09 L112.22,96.79 L110.45,99.39 L108.53,101.87 L106.45,104.23 L104.23,106.45 L101.87,108.53 L99.39,110.45 L96.79,112.22 L94.09,113.82 L91.29,115.24 L88.41,116.49 L85.45,117.55 L82.43,118.43 L79.37,119.11 L76.27,119.61 L73.14,119.90 L70.00,120.00 L66.86,119.90 L63.73,119.61 L60.63,119.11 L57.57,118.43 L54.55,117.55 L51.59,116.49 L48.71,115.24 L45.91,113.82 L43.21,112.22 L40.61,110.45 L38.13,108.53 L35.77,106.45 L33.55,104.23 L31.47,101.87 L29.55,99.39 L27.78,96.79 L26.18,94.09 L24.76,91.29 L23.51,88.41 L22.45,85.45 L21.57,82.43 L20.89,79.37 L20.39,76.27 L20.10,73.14 L20.00,70.00 L20.10,66.86 L20.39,63.73 L20.89,60.63 L21.57,57.57 L22.45,54.55 L23.51,51.59 L24.76,48.71 L26.18,45.91 L27.78,43.21 L29.55,40.61 L31.47,38.13 L33.55,35.77 L35.77,33.55 L38.13,31.47 L40.61,29.55 L43.21,27.78 L45.91,26.18 L48.71,24.76 L51.59,23.51 L54.55,22.45 L57.57,21.57 L60.63,20.89 L63.73,20.39 L66.86,20.10 L70.00,20.00 L73.14,20.10 L76.27,20.39 L79.37,20.89 L82.43,21.57 L85.45,22.45 L88.41,23.51 L91.29,24.76 L94.09,26.18 L96.79,27.78 L99.39,29.55 L101.87,31.47 L104.23,33.55 L106.45,35.77 L108.53,38.13 L110.45,40.61 L112.22,43.21 L113.82,45.91 L115.24,48.71 L116.49,51.59 L117.55,54.55 L118.43,57.57 L119.11,60.63 L119.61,63.73 L119.90,66.86 Z"]
    12     RenderPath {rect} at (20,20) size 100x100 [fill={[type=SOLID] [color=#008000]}] [filter=blur] [data="M20.00,20.00 L120.00,20.00 L120.00,120.00 L20.00,120.00 Z"]
     13    RenderPath {rect} at (20,20) size 100x100 [fill={[type=SOLID] [color=#008000]}] [data="M20.00,20.00 L120.00,20.00 L120.00,120.00 L20.00,120.00 Z"]
    1314      [masker="mask"] RenderSVGResourceMasker {mask} at (10,10) size 120x120
    1415      [clipPath="clip"] RenderSVGResourceClipper {clipPath} at (20,20) size 100x100
     16      [filter="blur"] RenderSVGResourceFilter {filter} at (0,0) size 140x140
  • trunk/LayoutTests/platform/mac/svg/filters/filter-on-tspan-expected.txt

    r55260 r57880  
    1 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive [type=FLOOD]  [color=#008000] [opacity=1.00]]
    78    RenderSVGText {text} at (100,100) size 99x18 contains 1 chunk(s)
    89      RenderSVGInlineText {#text} at (0,-14) size 68x18
     
    1011      RenderSVGTSpan {tspan} at (0,0) size 27x18
    1112        RenderSVGInlineText {#text} at (68,-14) size 27x18
     13          [filter="filter"] RenderSVGResourceFilter {filter} at (0,0) size 0x0
    1214          chunk 1 text run 2 at (168.00,100.00) startOffset 0 endOffset 4 width 27.00: "Test"
    1315      RenderSVGInlineText {#text} at (95,-14) size 4x18
  • trunk/LayoutTests/platform/mac/svg/filters/filter-source-position-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter1" [type=FILTER]  [bounding box=at (20.00%,20.00%) size 80.00%x80.00%]}
    2 KCanvasResource {id="filter2" [type=FILTER]  [bounding box=at (-20.00%,20.00%) size 100.00%x80.00%]}
    3 KCanvasResource {id="filter3" [type=FILTER]  [bounding box=at (20.00%,-20.00%) size 80.00%x100.00%]}
    4 KCanvasResource {id="filter4" [type=FILTER]  [bounding box=at (-20.00%,-20.00%) size 100.00%x100.00%]}
    51layer at (0,0) size 800x600
    62  RenderView at (0,0) size 800x600
     
    84  RenderSVGRoot {svg} at (0,0) size 800x600
    95    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="filter1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     8      RenderSVGResourceFilter {filter} [id="filter2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     9        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     10      RenderSVGResourceFilter {filter} [id="filter3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     11        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     12      RenderSVGResourceFilter {filter} [id="filter4"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     13        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
    1014      RenderSVGImage {image} at (20,20) size 110x110
    11     RenderSVGContainer {use} at (42,42) size 88x88 [filter=filter1]
     15    RenderSVGContainer {use} at (42,42) size 88x88
     16      [filter="filter1"] RenderSVGResourceFilter {filter} at (42,42) size 88x88
    1217      RenderSVGContainer {g} at (20,20) size 110x110
    1318        RenderSVGImage {image} at (20,20) size 110x110
    14     RenderSVGContainer {use} at (128,42) size 110x88 [filter=filter2]
     19    RenderSVGContainer {use} at (128,42) size 110x88
     20      [filter="filter2"] RenderSVGResourceFilter {filter} at (128,42) size 110x88
    1521      RenderSVGContainer {g} at (150,20) size 110x110 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,0.00)}]
    1622        RenderSVGImage {image} at (150,20) size 110x110
    17     RenderSVGContainer {use} at (42,128) size 88x110 [filter=filter3]
     23    RenderSVGContainer {use} at (42,128) size 88x110
     24      [filter="filter3"] RenderSVGResourceFilter {filter} at (42,128) size 88x110
    1825      RenderSVGContainer {g} at (20,150) size 110x110 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,130.00)}]
    1926        RenderSVGImage {image} at (20,150) size 110x110
    20     RenderSVGContainer {use} at (128,128) size 110x110 [filter=filter4]
     27    RenderSVGContainer {use} at (128,128) size 110x110
     28      [filter="filter4"] RenderSVGResourceFilter {filter} at (128,128) size 110x110
    2129      RenderSVGContainer {g} at (150,150) size 110x110 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,130.00)}]
    2230        RenderSVGImage {image} at (150,150) size 110x110
  • trunk/LayoutTests/platform/mac/svg/filters/filterRes-expected.txt

    r54483 r57880  
    11KRenderingPaintServer {id="linGrad" [type=LINEAR-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#00FF00)]] [start=(0,0)] [end=(1,1)]}
    22KRenderingPaintServer {id="radGrad" [type=RADIAL-GRADIENT] [stops=[(0.00,#FF0000), (1.00,#00FF00)]] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]}
    3 KCanvasResource {id="f1" [type=FILTER]  [effect bounding box mode=1]}
    4 KCanvasResource {id="over" [type=FILTER]  [effect bounding box mode=1]}
    5 KCanvasResource {id="gauss" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    6 KCanvasResource {id="dilate2" [type=FILTER] }
    73layer at (0,0) size 800x600
    84  RenderView at (0,0) size 800x600
     
    1612        RenderSVGGradientStop {stop} at (0,0) size 0x0
    1713        RenderSVGGradientStop {stop} at (0,0) size 0x0
    18     RenderSVGImage {image} at (10,10) size 100x100 [filter=f1]
    19     RenderPath {rect} at (130,10) size 100x100 [fill={[type=SOLID] [color=#000000]}] [filter=over] [data="M130.00,10.00 L230.00,10.00 L230.00,110.00 L130.00,110.00 Z"]
    20     RenderSVGContainer {g} at (240,0) size 121x121 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,10.00)}] [filter=gauss]
     14      RenderSVGResourceFilter {filter} [id="f1"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [primitve="flood2" [type=FLOOD]  [color=#000000] [opacity=1.00]]
     16        [primitve="flood1" [type=FLOOD]  [color=#000000] [opacity=1.00]]
     17        [primitve="tile" [type=TILE]]
     18        [primitve="pair" ]
     19        [last primitive [type=DISPLACEMENT-MAP]  [in2=559869616] [scale=64.00] [x channel selector=RED] [y channel selector=GREEN]]
     20      RenderSVGResourceFilter {filter} [id="over"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     21        [primitve="res2" [type=FLOOD]  [color=#0000FF] [opacity=0.50]]
     22        [primitve="res1" [type=FLOOD]  [color=#FF0000] [opacity=0.50]]
     23        [last primitive ]
     24      RenderSVGResourceFilter {filter} [id="gauss"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     25        [last primitive ]
     26      RenderSVGResourceFilter {filter} [id="dilate2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     27        [last primitive [type=MORPHOLOGY]  [operator type=DILATE] [radius x=3.00 y=1.00]]
     28    RenderSVGImage {image} at (10,10) size 100x100
     29      [filter="f1"] RenderSVGResourceFilter {filter} at (10,10) size 100x100
     30    RenderPath {rect} at (130,10) size 100x100 [fill={[type=SOLID] [color=#000000]}] [data="M130.00,10.00 L230.00,10.00 L230.00,110.00 L130.00,110.00 Z"]
     31      [filter="over"] RenderSVGResourceFilter {filter} at (130,10) size 100x100
     32    RenderSVGContainer {g} at (240,0) size 121x121 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,10.00)}]
     33      [filter="gauss"] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
    2134      RenderPath {rect} at (250,10) size 75x75 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L75.00,0.00 L75.00,75.00 L0.00,75.00 Z"]
    2235      RenderPath {rect} at (275,35) size 75x75 [fill={[type=SOLID] [color=#0000FF]}] [data="M25.00,25.00 L100.00,25.00 L100.00,100.00 L25.00,100.00 Z"]
    23     RenderSVGContainer {g} at (390,30) size 65x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(370.00,10.00)}] [filter=dilate2]
     36    RenderSVGContainer {g} at (390,30) size 65x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(370.00,10.00)}]
     37      [filter="dilate2"] RenderSVGResourceFilter {filter} at (20,20) size 65x65
    2438      RenderPath {rect} at (389,29) size 52x52 [stroke={[type=SOLID] [color=#FF0000]}] [data="M20.00,20.00 L70.00,20.00 L70.00,70.00 L20.00,70.00 Z"]
    2539      RenderPath {rect} at (404,44) size 52x52 [stroke={[type=SOLID] [color=#0000FF]}] [data="M35.00,35.00 L85.00,35.00 L85.00,85.00 L35.00,85.00 Z"]
  • trunk/LayoutTests/platform/mac/svg/filters/shadow-on-filter-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 160.00%x160.00%] [effect bounding box mode=1]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    7     RenderPath {rect} at (50,50) size 480x480 [fill={[type=SOLID] [color=#008000]}] [filter=filter] [data="M200.00,200.00 L500.00,200.00 L500.00,500.00 L200.00,500.00 Z"]
     6      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7        [primitve="flood2" [type=FLOOD]  [color=#008000] [opacity=1.00]]
     8        [primitve="flood1" [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     9        [primitve="comp1" ]
     10        [last primitive ]
     11    RenderPath {rect} at (50,50) size 480x480 [fill={[type=SOLID] [color=#008000]}] [data="M200.00,200.00 L500.00,200.00 L500.00,500.00 L200.00,500.00 Z"]
     12      [filter="filter"] RenderSVGResourceFilter {filter} at (50,50) size 480x480
  • trunk/LayoutTests/platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 160.00%x160.00%] [effect bounding box mode=1]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    7     RenderPath {rect} at (24,24) size 506x506 [fill={[type=SOLID] [color=#008000]}] [filter=filter] [data="M200.00,200.00 L500.00,200.00 L500.00,500.00 L200.00,500.00 Z"]
     6      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7        [primitve="flood2" [type=FLOOD]  [color=#008000] [opacity=1.00]]
     8        [primitve="flood1" [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     9        [primitve="comp1" ]
     10        [last primitive ]
     11    RenderPath {rect} at (24,24) size 506x506 [fill={[type=SOLID] [color=#008000]}] [data="M200.00,200.00 L500.00,200.00 L500.00,500.00 L200.00,500.00 Z"]
     12      [filter="filter"] RenderSVGResourceFilter {filter} at (50,50) size 480x480
  • trunk/LayoutTests/platform/mac/svg/filters/sourceAlpha-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
     
    54  RenderSVGRoot {svg} at (0,0) size 800x600
    65    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    7     RenderSVGContainer {g} at (42,9) size 96x56 [filter=filter]
     6      RenderSVGResourceFilter {filter} [id="filter"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
     7        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     8    RenderSVGContainer {g} at (42,9) size 96x56
     9      [filter="filter"] RenderSVGResourceFilter {filter} at (42,9.40) size 96x55.20
    810      RenderSVGText {text} at (50,50) size 80x46 contains 1 chunk(s)
    911        RenderSVGInlineText {#text} at (0,-36) size 80x46
  • trunk/LayoutTests/platform/mac/svg/filters/subRegion-in-userSpace-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter1" [type=FILTER]  [bounding box=at (-40,-40) size 480x480] [bounding box mode=0]}
    21layer at (0,0) size 800x600
    32  RenderView at (0,0) size 800x600
    43layer at (0,0) size 400x400
    54  RenderSVGRoot {svg} at (0,0) size 400x400
    6     RenderSVGContainer {g} at (0,0) size 400x400 [filter=filter1]
     5    RenderSVGResourceFilter {filter} [id="filter1"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
     6      [primitve="flood2" [type=FLOOD]  [color=#0000FF] [opacity=1.00]]
     7      [primitve="flood1" [type=FLOOD]  [color=#FF0000] [opacity=1.00]]
     8      [primitve="pair" ]
     9      [last primitive [type=TILE]]
     10    RenderSVGContainer {g} at (0,0) size 400x400
     11      [filter="filter1"] RenderSVGResourceFilter {filter} at (-40,-40) size 480x480
  • trunk/LayoutTests/platform/mac/svg/filters/subRegion-one-effect-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter_1effect_01" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    2 KCanvasResource {id="filter_1effect_02" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    3 KCanvasResource {id="filter_1effect_03" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    4 KCanvasResource {id="filter_1effect_04" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    5 KCanvasResource {id="filter_1effect_05" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    6 KCanvasResource {id="filter_1effect_06" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    7 KCanvasResource {id="filter_1effect_07" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    8 KCanvasResource {id="filter_1effect_08" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    9 KCanvasResource {id="filter_1effect_09" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    10 KCanvasResource {id="filter_1effect_10" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    11 KCanvasResource {id="filter_1effect_11" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    12 KCanvasResource {id="filter_1effect_12" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    13 KCanvasResource {id="filter_1effect_13" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    14 KCanvasResource {id="filter_1effect_14" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    151layer at (0,0) size 800x600
    162  RenderView at (0,0) size 800x600
     
    184  RenderSVGRoot {svg} at (0,0) size 800x600
    195    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="filter_1effect_01"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     8      RenderSVGResourceFilter {filter} [id="filter_1effect_02"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     9        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     10      RenderSVGResourceFilter {filter} [id="filter_1effect_03"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     11        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     12      RenderSVGResourceFilter {filter} [id="filter_1effect_04"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     13        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     14      RenderSVGResourceFilter {filter} [id="filter_1effect_05"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     16      RenderSVGResourceFilter {filter} [id="filter_1effect_06"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     17        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     18      RenderSVGResourceFilter {filter} [id="filter_1effect_07"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     19        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     20      RenderSVGResourceFilter {filter} [id="filter_1effect_08"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     21        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     22      RenderSVGResourceFilter {filter} [id="filter_1effect_09"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     23        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     24      RenderSVGResourceFilter {filter} [id="filter_1effect_10"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     25        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     26      RenderSVGResourceFilter {filter} [id="filter_1effect_11"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     27        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     28      RenderSVGResourceFilter {filter} [id="filter_1effect_12"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     29        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     30      RenderSVGResourceFilter {filter} [id="filter_1effect_13"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     31        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     32      RenderSVGResourceFilter {filter} [id="filter_1effect_14"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     33        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
    2034    RenderSVGContainer {g} at (9,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,10.00)}]
    2135      RenderPath {rect} at (34,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    2236      RenderPath {rect} at (9,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    2337      RenderPath {rect} at (34,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    24       RenderPath {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_01] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     38      RenderPath {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     39        [filter="filter_1effect_01"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    2540    RenderSVGContainer {g} at (109,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,10.00)}]
    2641      RenderPath {rect} at (134,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    2742      RenderPath {rect} at (109,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    2843      RenderPath {rect} at (122,22) size 26x39 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L37.50,12.50 L37.50,50.00 L12.50,50.00 Z"]
    29       RenderPath {rect} at (110,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_02] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     44      RenderPath {rect} at (110,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     45        [filter="filter_1effect_02"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    3046    RenderSVGContainer {g} at (209,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,10.00)}]
    3147      RenderPath {rect} at (234,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    3248      RenderPath {rect} at (209,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    3349      RenderPath {rect} at (234,34) size 27x27 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L50.00,25.00 L50.00,50.00 L25.00,50.00 Z"]
    34       RenderPath {rect} at (210,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_03] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     50      RenderPath {rect} at (210,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     51        [filter="filter_1effect_03"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    3552    RenderSVGContainer {g} at (309,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,10.00)}]
    3653      RenderPath {rect} at (334,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    3754      RenderPath {rect} at (309,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    3855      RenderPath {rect} at (359,47) size 27x14 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M50.00,37.50 L75.00,37.50 L75.00,50.00 L50.00,50.00 Z"]
    39       RenderPath {rect} at (310,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_04] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     56      RenderPath {rect} at (310,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     57        [filter="filter_1effect_04"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    4058    RenderSVGContainer {g} at (409,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,10.00)}]
    4159      RenderPath {rect} at (434,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    4260      RenderPath {rect} at (409,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    4361      RenderPath {rect} at (447,47) size 26x26 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M37.50,37.50 L62.50,37.50 L62.50,62.50 L37.50,62.50 Z"]
    44       RenderPath {rect} at (410,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_05] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     62      RenderPath {rect} at (410,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     63        [filter="filter_1effect_05"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    4564    RenderSVGContainer {g} at (509,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(510.00,10.00)}]
    4665      RenderPath {rect} at (534,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    4766      RenderPath {rect} at (509,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    4867      RenderPath {rect} at (522,22) size 51x51 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L62.50,12.50 L62.50,62.50 L12.50,62.50 Z"]
    49       RenderPath {rect} at (510,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_06] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     68      RenderPath {rect} at (510,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     69        [filter="filter_1effect_06"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    5070    RenderSVGContainer {g} at (609,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(610.00,10.00)}]
    5171      RenderPath {rect} at (634,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    5272      RenderPath {rect} at (609,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    5373      RenderPath {rect} at (641,41) size 13x13 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M31.25,31.25 L43.75,31.25 L43.75,43.75 L31.25,43.75 Z"]
    54       RenderPath {rect} at (610,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_07] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     74      RenderPath {rect} at (610,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     75        [filter="filter_1effect_07"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    5576    RenderSVGContainer {g} at (29,229) size 62x161 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
    5677      RenderPath {rect} at (34,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    5778      RenderPath {rect} at (29,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    5879      RenderPath {rect} at (34,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    59       RenderPath {rect} at (30,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_08] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     80      RenderPath {rect} at (30,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     81        [filter="filter_1effect_08"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    6082    RenderSVGContainer {g} at (122,222) size 69x168 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,210.00)}]
    6183      RenderPath {rect} at (134,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    6284      RenderPath {rect} at (129,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    6385      RenderPath {rect} at (122,222) size 26x39 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L37.50,12.50 L37.50,50.00 L12.50,50.00 Z"]
    64       RenderPath {rect} at (130,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_09] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     86      RenderPath {rect} at (130,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     87        [filter="filter_1effect_09"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    6588    RenderSVGContainer {g} at (229,229) size 62x161 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,210.00)}]
    6689      RenderPath {rect} at (234,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    6790      RenderPath {rect} at (229,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    6891      RenderPath {rect} at (234,234) size 27x27 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L50.00,25.00 L50.00,50.00 L25.00,50.00 Z"]
    69       RenderPath {rect} at (230,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_10] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     92      RenderPath {rect} at (230,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     93        [filter="filter_1effect_10"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    7094    RenderSVGContainer {g} at (329,229) size 82x161 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,210.00)}]
    7195      RenderPath {rect} at (334,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    7296      RenderPath {rect} at (329,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    7397      RenderPath {rect} at (359,259) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M50.00,50.00 L100.00,50.00 L100.00,100.00 L50.00,100.00 Z"]
    74       RenderPath {rect} at (330,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_11] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     98      RenderPath {rect} at (330,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     99        [filter="filter_1effect_11"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    75100    RenderSVGContainer {g} at (429,229) size 62x161 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,210.00)}]
    76101      RenderPath {rect} at (434,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    77102      RenderPath {rect} at (429,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    78103      RenderPath {rect} at (447,247) size 26x26 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M37.50,37.50 L62.50,37.50 L62.50,62.50 L37.50,62.50 Z"]
    79       RenderPath {rect} at (430,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_12] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     104      RenderPath {rect} at (430,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     105        [filter="filter_1effect_12"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    80106    RenderSVGContainer {g} at (522,222) size 69x168 [transform={m=((1.00,0.00)(0.00,1.00)) t=(510.00,210.00)}]
    81107      RenderPath {rect} at (534,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    82108      RenderPath {rect} at (529,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    83109      RenderPath {rect} at (522,222) size 51x51 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L62.50,12.50 L62.50,62.50 L12.50,62.50 Z"]
    84       RenderPath {rect} at (530,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_13] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     110      RenderPath {rect} at (530,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     111        [filter="filter_1effect_13"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    85112    RenderSVGContainer {g} at (622,222) size 76x168 [transform={m=((1.00,0.00)(0.00,1.00)) t=(610.00,210.00)}]
    86113      RenderPath {rect} at (634,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    87114      RenderPath {rect} at (629,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={3.00}]}] [fill={[type=SOLID] [color=#C8C8C8] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    88115      RenderPath {rect} at (622,222) size 76x76 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L87.50,12.50 L87.50,87.50 L12.50,87.50 Z"]
    89       RenderPath {rect} at (630,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_14] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     116      RenderPath {rect} at (630,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     117        [filter="filter_1effect_14"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
  • trunk/LayoutTests/platform/mac/svg/filters/subRegion-two-effects-expected.txt

    r54483 r57880  
    1 KCanvasResource {id="filter_1effect_01" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    2 KCanvasResource {id="filter_1effect_02" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    3 KCanvasResource {id="filter_1effect_03" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    4 KCanvasResource {id="filter_1effect_04" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    5 KCanvasResource {id="filter_1effect_05" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    6 KCanvasResource {id="filter_1effect_06" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    7 KCanvasResource {id="filter_1effect_07" [type=FILTER]  [bounding box=at (-50.00%,-50.00%) size 100.00%x100.00%] [effect bounding box mode=1]}
    8 KCanvasResource {id="filter_1effect_08" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    9 KCanvasResource {id="filter_1effect_09" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    10 KCanvasResource {id="filter_1effect_10" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    11 KCanvasResource {id="filter_1effect_11" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    12 KCanvasResource {id="filter_1effect_12" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    13 KCanvasResource {id="filter_1effect_13" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    14 KCanvasResource {id="filter_1effect_14" [type=FILTER]  [bounding box=at (-10.00%,-10.00%) size 120.00%x120.00%] [effect bounding box mode=1]}
    151layer at (0,0) size 800x600
    162  RenderView at (0,0) size 800x600
     
    184  RenderSVGRoot {svg} at (0,0) size 800x600
    195    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
     6      RenderSVGResourceFilter {filter} [id="filter_1effect_01"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     7        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     8      RenderSVGResourceFilter {filter} [id="filter_1effect_02"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     9        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     10      RenderSVGResourceFilter {filter} [id="filter_1effect_03"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     11        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     12      RenderSVGResourceFilter {filter} [id="filter_1effect_04"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     13        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     14      RenderSVGResourceFilter {filter} [id="filter_1effect_05"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     15        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     16      RenderSVGResourceFilter {filter} [id="filter_1effect_06"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     17        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     18      RenderSVGResourceFilter {filter} [id="filter_1effect_07"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     19        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     20      RenderSVGResourceFilter {filter} [id="filter_1effect_08"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     21        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     22      RenderSVGResourceFilter {filter} [id="filter_1effect_09"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     23        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     24      RenderSVGResourceFilter {filter} [id="filter_1effect_10"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     25        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     26      RenderSVGResourceFilter {filter} [id="filter_1effect_11"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     27        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     28      RenderSVGResourceFilter {filter} [id="filter_1effect_12"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     29        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     30      RenderSVGResourceFilter {filter} [id="filter_1effect_13"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     31        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
     32      RenderSVGResourceFilter {filter} [id="filter_1effect_14"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
     33        [last primitive [type=OFFSET]  [dx=0.00 dy=0.00]]
    2034    RenderSVGContainer {g} at (9,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,10.00)}]
    2135      RenderPath {rect} at (34,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    2337      RenderPath {rect} at (34,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    2438      RenderPath {rect} at (9,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    25       RenderPath {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_01] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     39      RenderPath {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     40        [filter="filter_1effect_01"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    2641    RenderSVGContainer {g} at (109,9) size 89x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,10.00)}]
    2742      RenderPath {rect} at (134,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    2944      RenderPath {rect} at (122,22) size 26x39 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L37.50,12.50 L37.50,50.00 L12.50,50.00 Z"]
    3045      RenderPath {rect} at (159,59) size 39x39 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M50.00,50.00 L87.50,50.00 L87.50,87.50 L50.00,87.50 Z"]
    31       RenderPath {rect} at (110,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_02] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     46      RenderPath {rect} at (110,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     47        [filter="filter_1effect_02"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    3248    RenderSVGContainer {g} at (209,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,10.00)}]
    3349      RenderPath {rect} at (234,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    3551      RenderPath {rect} at (209,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    3652      RenderPath {rect} at (209,9) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
    37       RenderPath {rect} at (210,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_03] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     53      RenderPath {rect} at (210,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     54        [filter="filter_1effect_03"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    3855    RenderSVGContainer {g} at (309,9) size 89x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,10.00)}]
    3956      RenderPath {rect} at (334,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    4158      RenderPath {rect} at (309,34) size 52x27 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M0.00,25.00 L50.00,25.00 L50.00,50.00 L0.00,50.00 Z"]
    4259      RenderPath {rect} at (347,34) size 51x27 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M37.50,25.00 L87.50,25.00 L87.50,50.00 L37.50,50.00 Z"]
    43       RenderPath {rect} at (310,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_04] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     60      RenderPath {rect} at (310,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     61        [filter="filter_1effect_04"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    4462    RenderSVGContainer {g} at (409,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,10.00)}]
    4563      RenderPath {rect} at (434,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    4765      RenderPath {rect} at (434,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    4866      RenderPath {rect} at (434,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    49       RenderPath {rect} at (410,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_05] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     67      RenderPath {rect} at (410,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     68        [filter="filter_1effect_05"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    5069    RenderSVGContainer {g} at (509,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(510.00,10.00)}]
    5170      RenderPath {rect} at (534,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    5372      RenderPath {rect} at (509,9) size 27x27 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M0.00,0.00 L25.00,0.00 L25.00,25.00 L0.00,25.00 Z"]
    5473      RenderPath {rect} at (534,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    55       RenderPath {rect} at (510,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_06] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     74      RenderPath {rect} at (510,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     75        [filter="filter_1effect_06"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    5676    RenderSVGContainer {g} at (609,9) size 77x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(610.00,10.00)}]
    5777      RenderPath {rect} at (634,34) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    5979      RenderPath {rect} at (622,22) size 26x26 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L37.50,12.50 L37.50,37.50 L12.50,37.50 Z"]
    6080      RenderPath {rect} at (634,34) size 39x27 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M25.00,25.00 L62.50,25.00 L62.50,50.00 L25.00,50.00 Z"]
    61       RenderPath {rect} at (610,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_07] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     81      RenderPath {rect} at (610,110) size 50x50 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     82        [filter="filter_1effect_07"] RenderSVGResourceFilter {filter} at (0,100) size 50x50
    6283    RenderSVGContainer {g} at (22,222) size 69x168 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,210.00)}]
    6384      RenderPath {rect} at (34,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    6586      RenderPath {rect} at (34,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
    6687      RenderPath {rect} at (22,222) size 26x26 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M12.50,12.50 L37.50,12.50 L37.50,37.50 L12.50,37.50 Z"]
    67       RenderPath {rect} at (30,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_08] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     88      RenderPath {rect} at (30,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     89        [filter="filter_1effect_08"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    6890    RenderSVGContainer {g} at (122,222) size 69x168 [transform={m=((1.00,0.00)(0.00,1.00)) t=(110.00,210.00)}]
    6991      RenderPath {rect} at (134,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    7193      RenderPath {rect} at (122,222) size 26x39 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L37.50,12.50 L37.50,50.00 L12.50,50.00 Z"]
    7294      RenderPath {rect} at (147,247) size 26x26 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M37.50,37.50 L62.50,37.50 L62.50,62.50 L37.50,62.50 Z"]
    73       RenderPath {rect} at (130,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_09] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     95      RenderPath {rect} at (130,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     96        [filter="filter_1effect_09"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    7497    RenderSVGContainer {g} at (229,229) size 67x161 [transform={m=((1.00,0.00)(0.00,1.00)) t=(210.00,210.00)}]
    7598      RenderPath {rect} at (234,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    77100      RenderPath {rect} at (234,234) size 62x27 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M25.00,25.00 L85.00,25.00 L85.00,50.00 L25.00,50.00 Z"]
    78101      RenderPath {rect} at (229,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    79       RenderPath {rect} at (230,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_10] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     102      RenderPath {rect} at (230,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     103        [filter="filter_1effect_10"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    80104    RenderSVGContainer {g} at (329,229) size 62x161 [transform={m=((1.00,0.00)(0.00,1.00)) t=(310.00,210.00)}]
    81105      RenderPath {rect} at (334,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    83107      RenderPath {rect} at (329,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    84108      RenderPath {rect} at (329,229) size 62x62 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M20.00,20.00 L80.00,20.00 L80.00,80.00 L20.00,80.00 Z"]
    85       RenderPath {rect} at (330,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_11] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     109      RenderPath {rect} at (330,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     110        [filter="filter_1effect_11"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    86111    RenderSVGContainer {g} at (422,222) size 69x168 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,210.00)}]
    87112      RenderPath {rect} at (434,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    89114      RenderPath {rect} at (422,222) size 61x61 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L72.50,12.50 L72.50,72.50 L12.50,72.50 Z"]
    90115      RenderPath {rect} at (447,247) size 26x26 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M37.50,37.50 L62.50,37.50 L62.50,62.50 L37.50,62.50 Z"]
    91       RenderPath {rect} at (430,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_12] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     116      RenderPath {rect} at (430,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     117        [filter="filter_1effect_12"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    92118    RenderSVGContainer {g} at (522,222) size 76x168 [transform={m=((1.00,0.00)(0.00,1.00)) t=(510.00,210.00)}]
    93119      RenderPath {rect} at (534,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    95121      RenderPath {rect} at (522,222) size 51x51 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L62.50,12.50 L62.50,62.50 L12.50,62.50 Z"]
    96122      RenderPath {rect} at (559,259) size 39x39 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M50.00,50.00 L87.50,50.00 L87.50,87.50 L50.00,87.50 Z"]
    97       RenderPath {rect} at (530,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_13] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     123      RenderPath {rect} at (530,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     124        [filter="filter_1effect_13"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
    98125    RenderSVGContainer {g} at (609,209) size 102x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(610.00,210.00)}]
    99126      RenderPath {rect} at (634,234) size 52x52 [stroke={[type=SOLID] [color=#000000] [stroke width=0.20] [dash array={5.00}]}] [fill={[type=SOLID] [color=#96FF96]}] [data="M25.00,25.00 L75.00,25.00 L75.00,75.00 L25.00,75.00 Z"]
     
    101128      RenderPath {rect} at (622,222) size 76x76 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#000096] [opacity=0.40]}] [data="M12.50,12.50 L87.50,12.50 L87.50,87.50 L12.50,87.50 Z"]
    102129      RenderPath {rect} at (609,209) size 102x102 [stroke={[type=SOLID] [color=#000000] [stroke width=0.50]}] [fill={[type=SOLID] [color=#960000] [opacity=0.40]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
    103       RenderPath {rect} at (630,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [filter=filter_1effect_14] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     130      RenderPath {rect} at (630,330) size 60x60 [fill={[type=SOLID] [color=#00FF00]}] [data="M25.00,125.00 L75.00,125.00 L75.00,175.00 L25.00,175.00 Z"]
     131        [filter="filter_1effect_14"] RenderSVGResourceFilter {filter} at (20,120) size 60x60
  • trunk/WebCore/Android.mk

    r57866 r57880  
    610610        rendering/RenderSVGModelObject.cpp \
    611611        rendering/RenderSVGResourceClipper.cpp \
     612        rendering/RenderSVGResourceFilter.cpp \
    612613        rendering/RenderSVGResourceMarker.cpp \
    613614        rendering/RenderSVGResourceMasker.cpp \
     
    864865        svg/graphics/SVGPaintServerSolid.cpp \
    865866        svg/graphics/SVGResource.cpp \
    866         svg/graphics/SVGResourceFilter.cpp \
    867867        \
    868868        svg/graphics/filters/SVGFEConvolveMatrix.cpp \
  • trunk/WebCore/ChangeLog

    r57879 r57880  
     12010-04-20  Dirk Schulze  <krit@webkit.org>
     2
     3        Reviewed by Nikolas Zimmermann.
     4
     5        SVGResourceFilter needs to be moved to under Renderers
     6        https://bugs.webkit.org/show_bug.cgi?id=35320
     7
     8        This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
     9        from the SVGResources.
     10        A clean-up solves the dependencies between SVGFilterElement, the filter primitives
     11        and SVGResources. This shall make the filter code more readable and better maintable.
     12        The Filter primitives get dumped now, as long as they have externalRepresentation
     13        implemented.
     14
     15        No behavior changes, so no new tests were added.
     16
     17        * Android.mk:
     18        * GNUmakefile.am:
     19        * WebCore.gypi:
     20        * WebCore.pro:
     21        * WebCore.vcproj/WebCore.vcproj:
     22        * WebCore.xcodeproj/project.pbxproj:
     23        * rendering/RenderPath.cpp:
     24        (WebCore::RenderPath::paint):
     25        * rendering/RenderSVGContainer.cpp:
     26        (WebCore::RenderSVGContainer::selfWillPaint):
     27        (WebCore::RenderSVGContainer::paint):
     28        * rendering/RenderSVGImage.cpp:
     29        (WebCore::RenderSVGImage::paint):
     30        * rendering/RenderSVGResource.h:
     31        (WebCore::):
     32        * rendering/RenderSVGResourceClipper.cpp:
     33        (WebCore::RenderSVGResourceClipper::applyResource):
     34        * rendering/RenderSVGResourceClipper.h:
     35        * rendering/RenderSVGResourceFilter.cpp: Added.
     36        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
     37        (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
     38        (WebCore::RenderSVGResourceFilter::invalidateClients):
     39        (WebCore::RenderSVGResourceFilter::invalidateClient):
     40        (WebCore::RenderSVGResourceFilter::buildPrimitives):
     41        (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
     42        (WebCore::RenderSVGResourceFilter::applyResource):
     43        (WebCore::RenderSVGResourceFilter::postApplyResource):
     44        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
     45        * rendering/RenderSVGResourceFilter.h: Added.
     46        (WebCore::FilterData::FilterData):
     47        (WebCore::RenderSVGResourceFilter::renderName):
     48        (WebCore::RenderSVGResourceFilter::filterUnits):
     49        (WebCore::RenderSVGResourceFilter::primitiveUnits):
     50        (WebCore::RenderSVGResourceFilter::resourceType):
     51        * rendering/RenderSVGResourceMarker.h:
     52        (WebCore::RenderSVGResourceMarker::applyResource):
     53        * rendering/RenderSVGResourceMasker.cpp:
     54        (WebCore::RenderSVGResourceMasker::applyResource):
     55        * rendering/RenderSVGResourceMasker.h:
     56        * rendering/RenderSVGRoot.cpp:
     57        (WebCore::RenderSVGRoot::selfWillPaint):
     58        (WebCore::RenderSVGRoot::paint):
     59        * rendering/RenderSVGText.cpp:
     60        * rendering/SVGRenderSupport.cpp:
     61        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
     62        (WebCore::SVGRenderBase::finishRenderSVGContent):
     63        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
     64        (WebCore::deregisterFromResources):
     65        * rendering/SVGRenderSupport.h:
     66        * rendering/SVGRenderTreeAsText.cpp:
     67        (WebCore::writeStyle):
     68        (WebCore::writeSVGResource):
     69        (WebCore::writeResources):
     70        (WebCore::writeRenderResources):
     71        * rendering/SVGRootInlineBox.cpp:
     72        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
     73        (WebCore::SVGRootInlineBox::paint):
     74        * svg/SVGFEBlendElement.cpp:
     75        (WebCore::SVGFEBlendElement::build):
     76        * svg/SVGFEBlendElement.h:
     77        * svg/SVGFEColorMatrixElement.cpp:
     78        (WebCore::SVGFEColorMatrixElement::build):
     79        * svg/SVGFEColorMatrixElement.h:
     80        * svg/SVGFEComponentTransferElement.cpp:
     81        (WebCore::SVGFEComponentTransferElement::build):
     82        * svg/SVGFEComponentTransferElement.h:
     83        * svg/SVGFECompositeElement.cpp:
     84        (WebCore::SVGFECompositeElement::build):
     85        * svg/SVGFECompositeElement.h:
     86        * svg/SVGFEDiffuseLightingElement.cpp:
     87        (WebCore::SVGFEDiffuseLightingElement::build):
     88        * svg/SVGFEDiffuseLightingElement.h:
     89        * svg/SVGFEDisplacementMapElement.cpp:
     90        (WebCore::SVGFEDisplacementMapElement::build):
     91        * svg/SVGFEDisplacementMapElement.h:
     92        * svg/SVGFEFloodElement.cpp:
     93        (WebCore::SVGFEFloodElement::build):
     94        * svg/SVGFEFloodElement.h:
     95        * svg/SVGFEGaussianBlurElement.cpp:
     96        (WebCore::SVGFEGaussianBlurElement::build):
     97        * svg/SVGFEGaussianBlurElement.h:
     98        * svg/SVGFEImageElement.cpp:
     99        (WebCore::SVGFEImageElement::build):
     100        * svg/SVGFEImageElement.h:
     101        * svg/SVGFEMergeElement.cpp:
     102        (WebCore::SVGFEMergeElement::build):
     103        * svg/SVGFEMergeElement.h:
     104        * svg/SVGFEMorphologyElement.cpp:
     105        (WebCore::SVGFEMorphologyElement::build):
     106        * svg/SVGFEMorphologyElement.h:
     107        * svg/SVGFEOffsetElement.cpp:
     108        (WebCore::SVGFEOffsetElement::build):
     109        * svg/SVGFEOffsetElement.h:
     110        * svg/SVGFESpecularLightingElement.cpp:
     111        (WebCore::SVGFESpecularLightingElement::build):
     112        * svg/SVGFESpecularLightingElement.h:
     113        * svg/SVGFETileElement.cpp:
     114        (WebCore::SVGFETileElement::build):
     115        * svg/SVGFETileElement.h:
     116        * svg/SVGFETurbulenceElement.cpp:
     117        (WebCore::SVGFETurbulenceElement::build):
     118        * svg/SVGFETurbulenceElement.h:
     119        (WebCore::):
     120        * svg/SVGFilterElement.cpp:
     121        (WebCore::SVGFilterElement::createRenderer):
     122        * svg/SVGFilterElement.h:
     123        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
     124        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
     125        * svg/SVGFilterPrimitiveStandardAttributes.h:
     126        (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
     127        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
     128        * svg/SVGStyledElement.cpp:
     129        (WebCore::SVGStyledElement::invalidateResources):
     130        * svg/graphics/SVGResource.cpp:
     131        * svg/graphics/SVGResource.h:
     132        (WebCore::):
     133        (WebCore::SVGResource::isPaintServer):
     134        * svg/graphics/SVGResourceFilter.cpp: Removed.
     135        * svg/graphics/SVGResourceFilter.h: Removed.
     136        * svg/graphics/filters/SVGFilterBuilder.h:
     137        (WebCore::SVGFilterBuilder::namedEffects):
     138
    11392010-04-20  Gavin Barraclough  <barraclough@apple.com>
    2140
  • trunk/WebCore/GNUmakefile.am

    r57866 r57880  
    31093109        WebCore/rendering/RenderSVGResourceClipper.cpp \
    31103110        WebCore/rendering/RenderSVGResourceClipper.h \
     3111        WebCore/rendering/RenderSVGResourceFilter.cpp \
     3112        WebCore/rendering/RenderSVGResourceFilter.h \
    31113113        WebCore/rendering/RenderSVGResourceMarker.cpp \
    31123114        WebCore/rendering/RenderSVGResourceMarker.h \
     
    34483450        WebCore/svg/graphics/SVGResource.cpp \
    34493451        WebCore/svg/graphics/SVGResource.h \
    3450         WebCore/svg/graphics/SVGResourceFilter.cpp \
    3451         WebCore/svg/graphics/SVGResourceFilter.h \
    34523452        WebCore/svg/graphics/SVGResourceListener.h \
    34533453        WebCore/svg/graphics/filters/SVGDistantLightSource.h \
  • trunk/WebCore/WebCore.gypi

    r57866 r57880  
    31763176            'rendering/RenderSVGResourceClipper.cpp',
    31773177            'rendering/RenderSVGResourceClipper.h',
     3178            'rendering/RenderSVGResourceFilter.cpp',
     3179            'rendering/RenderSVGResourceFilter.h',
    31783180            'rendering/RenderSVGResourceMarker.cpp',
    31793181            'rendering/RenderSVGResourceMarker.h',
     
    34083410            'svg/graphics/SVGResource.cpp',
    34093411            'svg/graphics/SVGResource.h',
    3410             'svg/graphics/SVGResourceFilter.cpp',
    3411             'svg/graphics/SVGResourceFilter.h',
    34123412            'svg/graphics/SVGResourceListener.h',
    34133413            'svg/ColorDistance.cpp',
  • trunk/WebCore/WebCore.pro

    r57866 r57880  
    17341734    rendering/RenderSVGResource.h \
    17351735    rendering/RenderSVGResourceClipper.h \
     1736    rendering/RenderSVGResourceFilter.h \
    17361737    rendering/RenderSVGResourceMarker.h \
    17371738    rendering/RenderSVGResourceMasker.h \
     
    18231824    svg/graphics/SVGPaintServerRadialGradient.h \
    18241825    svg/graphics/SVGPaintServerSolid.h \
    1825     svg/graphics/SVGResourceFilter.h \
    18261826    svg/graphics/SVGResource.h \
    18271827    svg/SVGAElement.h \
     
    26952695        svg/graphics/SVGPaintServerSolid.cpp \
    26962696        svg/graphics/SVGResource.cpp \
    2697         svg/graphics/SVGResourceFilter.cpp \
    26982697        rendering/RenderForeignObject.cpp \
    26992698        rendering/RenderPath.cpp \
     
    27072706        rendering/RenderSVGModelObject.cpp \
    27082707        rendering/RenderSVGResourceClipper.cpp \
     2708        rendering/RenderSVGResourceFilter.cpp \
    27092709        rendering/RenderSVGResourceMarker.cpp \
    27102710        rendering/RenderSVGResourceMasker.cpp \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r57866 r57880  
    83908390                                        <Tool
    83918391                                                Name="VCCLCompilerTool"
     8392
    83928393                                        />
    83938394                                </FileConfiguration>
     
    1883418835                                <FileConfiguration
    1883518836                                        Name="Debug_All|Win32"
     18837
    1883618838                                        ExcludedFromBuild="true"
    1883718839                                        >
     
    2793827940                        </File>
    2793927941                        <File
     27942                                RelativePath="..\rendering\RenderSVGResourceFilter.cpp"
     27943                                >
     27944                        </File>
     27945                        <File
     27946                                RelativePath="..\rendering\RenderSVGResourceFilter.h"
     27947                                >
     27948                        </File>
     27949                        <File
    2794027950                                RelativePath="..\rendering\RenderSVGResourceMarker.cpp"
    2794127951                                >
     
    3174031750                                        />
    3174131751                                </FileConfiguration>
     31752
    3174231753                        </File>
    3174331754                        <File
     
    4236142372                                <File
    4236242373                                        RelativePath="..\svg\graphics\SVGResource.h"
    42363                                         >
    42364                                 </File>
    42365                                 <File
    42366                                         RelativePath="..\svg\graphics\SVGResourceFilter.cpp"
    42367                                         >
    42368                                 </File>
    42369                                 <File
    42370                                         RelativePath="..\svg\graphics\SVGResourceFilter.h"
    4237142374                                        >
    4237242375                                </File>
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r57866 r57880  
    13271327                7AFD4A8B1131C2760035B883 /* ScriptBreakpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AFD4A8A1131C2760035B883 /* ScriptBreakpoint.h */; settings = {ATTRIBUTES = (Private, ); }; };
    13281328                7AFD4FF4113277B60035B883 /* ScriptDebugListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AFD4FF3113277B60035B883 /* ScriptDebugListener.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1329                841FDC261178C9BE00F8AC9B /* RenderSVGResourceFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 841FDC241178C9BE00F8AC9B /* RenderSVGResourceFilter.cpp */; };
     1330                841FDC271178C9BE00F8AC9B /* RenderSVGResourceFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 841FDC251178C9BE00F8AC9B /* RenderSVGResourceFilter.h */; };
    13291331                84224183107E77F400766A87 /* JSSVGFEMorphologyElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84224181107E77F400766A87 /* JSSVGFEMorphologyElement.cpp */; };
    13301332                84224184107E77F400766A87 /* JSSVGFEMorphologyElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 84224182107E77F400766A87 /* JSSVGFEMorphologyElement.h */; };
     
    37453747                B25599B20D00D8BA00BB825C /* SVGResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B255991A0D00D8B900BB825C /* SVGResource.cpp */; };
    37463748                B25599B30D00D8BA00BB825C /* SVGResource.h in Headers */ = {isa = PBXBuildFile; fileRef = B255991B0D00D8B900BB825C /* SVGResource.h */; };
    3747                 B25599B60D00D8BA00BB825C /* SVGResourceFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B255991E0D00D8B900BB825C /* SVGResourceFilter.cpp */; };
    3748                 B25599B70D00D8BA00BB825C /* SVGResourceFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = B255991F0D00D8B900BB825C /* SVGResourceFilter.h */; };
    37493749                B25599B80D00D8BA00BB825C /* SVGResourceListener.h in Headers */ = {isa = PBXBuildFile; fileRef = B25599200D00D8B900BB825C /* SVGResourceListener.h */; };
    37503750                B25DFAAF0B2E2929000E6510 /* JSSVGMatrixCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B25DFAAE0B2E2929000E6510 /* JSSVGMatrixCustom.cpp */; };
     
    68466846                7AFD4A8A1131C2760035B883 /* ScriptBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptBreakpoint.h; sourceTree = "<group>"; };
    68476847                7AFD4FF3113277B60035B883 /* ScriptDebugListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugListener.h; sourceTree = "<group>"; };
     6848                841FDC241178C9BE00F8AC9B /* RenderSVGResourceFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGResourceFilter.cpp; sourceTree = "<group>"; };
     6849                841FDC251178C9BE00F8AC9B /* RenderSVGResourceFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSVGResourceFilter.h; sourceTree = "<group>"; };
    68486850                84224181107E77F400766A87 /* JSSVGFEMorphologyElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGFEMorphologyElement.cpp; sourceTree = "<group>"; };
    68496851                84224182107E77F400766A87 /* JSSVGFEMorphologyElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSVGFEMorphologyElement.h; sourceTree = "<group>"; };
     
    90839085                B255991A0D00D8B900BB825C /* SVGResource.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGResource.cpp; sourceTree = "<group>"; };
    90849086                B255991B0D00D8B900BB825C /* SVGResource.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGResource.h; sourceTree = "<group>"; };
    9085                 B255991E0D00D8B900BB825C /* SVGResourceFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGResourceFilter.cpp; sourceTree = "<group>"; };
    9086                 B255991F0D00D8B900BB825C /* SVGResourceFilter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGResourceFilter.h; sourceTree = "<group>"; };
    90879087                B25599200D00D8B900BB825C /* SVGResourceListener.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGResourceListener.h; sourceTree = "<group>"; };
    90889088                B25DFAAE0B2E2929000E6510 /* JSSVGMatrixCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGMatrixCustom.cpp; sourceTree = "<group>"; };
     
    1453114531                                B255991A0D00D8B900BB825C /* SVGResource.cpp */,
    1453214532                                B255991B0D00D8B900BB825C /* SVGResource.h */,
    14533                                 B255991E0D00D8B900BB825C /* SVGResourceFilter.cpp */,
    14534                                 B255991F0D00D8B900BB825C /* SVGResourceFilter.h */,
    1453514533                                B25599200D00D8B900BB825C /* SVGResourceListener.h */,
    1453614534                        );
     
    1583915837                        isa = PBXGroup;
    1584015838                        children = (
     15839                                841FDC241178C9BE00F8AC9B /* RenderSVGResourceFilter.cpp */,
     15840                                841FDC251178C9BE00F8AC9B /* RenderSVGResourceFilter.h */,
    1584115841                                BC8C8FAA0DDCD2F200B592F4 /* style */,
    1584215842                                A8CFF04B0A154F09000A4234 /* AutoTableLayout.cpp */,
     
    1826918269                                083192AA112B43050083C3B9 /* RenderSVGResource.h in Headers */,
    1827018270                                84BDA16C11358D2A00DBF64C /* RenderSVGResourceClipper.h in Headers */,
     18271                                841FDC271178C9BE00F8AC9B /* RenderSVGResourceFilter.h in Headers */,
    1827118272                                083192AC112B43050083C3B9 /* RenderSVGResourceMasker.h in Headers */,
    1827218273                                AA31B5B50C1DFD1000AE7083 /* RenderSVGRoot.h in Headers */,
     
    1859718598                                B2EBDC9D0AF77E3400AE4A68 /* SVGRenderTreeAsText.h in Headers */,
    1859818599                                B25599B30D00D8BA00BB825C /* SVGResource.h in Headers */,
    18599                                 B25599B70D00D8BA00BB825C /* SVGResourceFilter.h in Headers */,
    1860018600                                B25599B80D00D8BA00BB825C /* SVGResourceListener.h in Headers */,
    1860118601                                853CA9E90AEEC608002372DC /* SVGRootInlineBox.h in Headers */,
     
    2057820578                                A8F5C0B90F9285AC0098E06B /* RenderSVGModelObject.cpp in Sources */,
    2057920579                                84BDA16B11358D2A00DBF64C /* RenderSVGResourceClipper.cpp in Sources */,
     20580                                841FDC261178C9BE00F8AC9B /* RenderSVGResourceFilter.cpp in Sources */,
    2058020581                                083192AB112B43050083C3B9 /* RenderSVGResourceMasker.cpp in Sources */,
    2058120582                                AA31B5B40C1DFD1000AE7083 /* RenderSVGRoot.cpp in Sources */,
     
    2088020881                                B2EBDC9C0AF77E3400AE4A68 /* SVGRenderTreeAsText.cpp in Sources */,
    2088120882                                B25599B20D00D8BA00BB825C /* SVGResource.cpp in Sources */,
    20882                                 B25599B60D00D8BA00BB825C /* SVGResourceFilter.cpp in Sources */,
    2088320883                                853CA9E80AEEC608002372DC /* SVGRootInlineBox.cpp in Sources */,
    2088420884                                B2227AA20D00BF220071B782 /* SVGScriptElement.cpp in Sources */,
  • trunk/WebCore/rendering/RenderPath.cpp

    r57575 r57880  
    3232#include "PointerEventsHitRules.h"
    3333#include "RenderSVGContainer.h"
     34#include "RenderSVGResourceFilter.h"
    3435#include "RenderSVGResourceMarker.h"
    3536#include "StrokeStyleApplier.h"
     
    233234        childPaintInfo.context->save();
    234235        applyTransformToPaintInfo(childPaintInfo, m_localTransform);
    235         SVGResourceFilter* filter = 0;
     236        RenderSVGResourceFilter* filter = 0;
    236237
    237238        if (childPaintInfo.phase == PaintPhaseForeground) {
  • trunk/WebCore/rendering/RenderSVGContainer.cpp

    r57575 r57880  
    2828
    2929#include "GraphicsContext.h"
     30#include "RenderSVGResourceFilter.h"
    3031#include "RenderView.h"
    3132#include "SVGRenderSupport.h"
    32 #include "SVGResourceFilter.h"
    3333#include "SVGStyledElement.h"
    3434
     
    7171#if ENABLE(FILTERS)
    7272    const SVGRenderStyle* svgStyle = style()->svgStyle();
    73     SVGResourceFilter* filter = getFilterById(document(), svgStyle->filterResource(), this);
     73    RenderSVGResourceFilter* filter = getRenderSVGResourceById<RenderSVGResourceFilter>(document(), svgStyle->filterResource());
    7474    if (filter)
    7575        return true;
     
    9696    applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
    9797
    98     SVGResourceFilter* filter = 0;
     98    RenderSVGResourceFilter* filter = 0;
    9999    FloatRect boundingBox = repaintRectInLocalCoordinates();
    100100
  • trunk/WebCore/rendering/RenderSVGImage.cpp

    r57509 r57880  
    8282
    8383    if (paintInfo.phase == PaintPhaseForeground) {
    84         SVGResourceFilter* filter = 0;
     84        RenderSVGResourceFilter* filter = 0;
    8585
    8686        PaintInfo savedInfo(paintInfo);
  • trunk/WebCore/rendering/RenderSVGResource.h

    r57659 r57880  
    3131    MaskerResourceType,
    3232    MarkerResourceType,
     33    FilterResourceType,
    3334    ClipperResourceType
    3435};
     
    9798    virtual void invalidateClient(RenderObject*) = 0;
    9899
    99     virtual bool applyResource(RenderObject*, GraphicsContext*) = 0;
     100    virtual bool applyResource(RenderObject*, GraphicsContext*&) = 0;
     101    virtual void postApplyResource(RenderObject*, GraphicsContext*&) { }
    100102    virtual FloatRect resourceBoundingBox(const FloatRect&) const = 0;
    101103
  • trunk/WebCore/rendering/RenderSVGResourceClipper.cpp

    r57575 r57880  
    8181}
    8282
    83 bool RenderSVGResourceClipper::applyResource(RenderObject* object, GraphicsContext* context)
     83bool RenderSVGResourceClipper::applyResource(RenderObject* object, GraphicsContext*& context)
    8484{
    8585    applyClippingToContext(object, object->objectBoundingBox(), object->repaintRectInLocalCoordinates(), context);
  • trunk/WebCore/rendering/RenderSVGResourceClipper.h

    r57511 r57880  
    5252    virtual void invalidateClient(RenderObject*);
    5353
    54     virtual bool applyResource(RenderObject*, GraphicsContext*);
     54    virtual bool applyResource(RenderObject*, GraphicsContext*&);
    5555    virtual FloatRect resourceBoundingBox(const FloatRect&) const;
    5656
  • trunk/WebCore/rendering/RenderSVGResourceMarker.h

    r56693 r57880  
    5959    AffineTransform markerTransformation(const FloatPoint& origin, float angle, float strokeWidth) const;
    6060
    61     virtual bool applyResource(RenderObject*, GraphicsContext*) { return false; }
     61    virtual bool applyResource(RenderObject*, GraphicsContext*&) { return false; }
    6262    virtual FloatRect resourceBoundingBox(const FloatRect&) const { return FloatRect(); }
    6363
  • trunk/WebCore/rendering/RenderSVGResourceMasker.cpp

    r57509 r57880  
    8181}
    8282
    83 bool RenderSVGResourceMasker::applyResource(RenderObject* object, GraphicsContext* context)
     83bool RenderSVGResourceMasker::applyResource(RenderObject* object, GraphicsContext*& context)
    8484{
    8585    ASSERT(object);
  • trunk/WebCore/rendering/RenderSVGResourceMasker.h

    r54991 r57880  
    5959    virtual void invalidateClient(RenderObject*);
    6060
    61     virtual bool applyResource(RenderObject*, GraphicsContext*);
     61    virtual bool applyResource(RenderObject*, GraphicsContext*&);
    6262    virtual FloatRect resourceBoundingBox(const FloatRect&) const;
    6363
  • trunk/WebCore/rendering/RenderSVGRoot.cpp

    r57575 r57880  
    3636
    3737#if ENABLE(FILTERS)
    38 #include "SVGResourceFilter.h"
     38#include "RenderSVGResourceFilter.h"
    3939#endif
    4040
     
    130130#if ENABLE(FILTERS)
    131131    const SVGRenderStyle* svgStyle = style()->svgStyle();
    132     SVGResourceFilter* filter = getFilterById(document(), svgStyle->filterResource(), this);
     132    RenderSVGResourceFilter* filter = getRenderSVGResourceById<RenderSVGResourceFilter>(document(), svgStyle->filterResource());
    133133    if (filter)
    134134        return true;
     
    167167    applyTransformToPaintInfo(childPaintInfo, localToRepaintContainerTransform(parentOriginInContainer));
    168168
    169     SVGResourceFilter* filter = 0;
     169    RenderSVGResourceFilter* filter = 0;
    170170    FloatRect boundingBox = repaintRectInLocalCoordinates();
    171171
  • trunk/WebCore/rendering/RenderSVGText.cpp

    r57509 r57880  
    3939#include "SVGLengthList.h"
    4040#include "SVGRenderSupport.h"
    41 #include "SVGResourceFilter.h"
    4241#include "SVGRootInlineBox.h"
    4342#include "SVGTextElement.h"
  • trunk/WebCore/rendering/SVGRenderSupport.cpp

    r57575 r57880  
    3636#include "RenderSVGResource.h"
    3737#include "RenderSVGResourceClipper.h"
     38#include "RenderSVGResourceFilter.h"
    3839#include "RenderSVGResourceMarker.h"
    3940#include "RenderSVGResourceMasker.h"
    4041#include "RenderView.h"
    41 #include "SVGResourceFilter.h"
    4242#include "SVGStyledElement.h"
    4343#include "SVGURIReference.h"
     
    8181}
    8282
    83 bool SVGRenderBase::prepareToRenderSVGContent(RenderObject* object, RenderObject::PaintInfo& paintInfo, const FloatRect& repaintRect, SVGResourceFilter*& filter, SVGResourceFilter* rootFilter)
     83bool SVGRenderBase::prepareToRenderSVGContent(RenderObject* object, RenderObject::PaintInfo& paintInfo, const FloatRect& repaintRect, RenderSVGResourceFilter*& filter, RenderSVGResourceFilter* rootFilter)
    8484{
    8585#if !ENABLE(FILTERS)
     
    122122
    123123#if ENABLE(FILTERS)
    124     SVGResourceFilter* newFilter = getFilterById(document, filterId, object);
     124    RenderSVGResourceFilter* newFilter = getRenderSVGResourceById<RenderSVGResourceFilter>(document, filterId);
    125125    if (newFilter == rootFilter) {
    126126        // Catch <text filter="url(#foo)">Test<tspan filter="url(#foo)">123</tspan></text>.
     
    145145#if ENABLE(FILTERS)
    146146    if (filter) {
    147         filter->addClient(styledElement);
    148         if (!filter->prepareFilter(paintInfo.context, object))
     147        if (!filter->applyResource(object, paintInfo.context))
    149148            return false;
    150149    } else if (!filterId.isEmpty())
     
    155154}
    156155
    157 void SVGRenderBase::finishRenderSVGContent(RenderObject* object, RenderObject::PaintInfo& paintInfo, SVGResourceFilter*& filter, GraphicsContext* savedContext)
     156void SVGRenderBase::finishRenderSVGContent(RenderObject* object, RenderObject::PaintInfo& paintInfo, RenderSVGResourceFilter*& filter, GraphicsContext* savedContext)
    158157{
    159158#if !ENABLE(FILTERS)
     
    169168#if ENABLE(FILTERS)
    170169    if (filter) {
    171         filter->applyFilter(paintInfo.context, object);
     170        filter->postApplyResource(object, paintInfo.context);
    172171        paintInfo.context = savedContext;
    173172    }
     
    284283{
    285284#if ENABLE(FILTERS)
    286     SVGResourceFilter* filter = getFilterById(object->document(), object->style()->svgStyle()->filterResource(), object);
    287     if (filter)
    288         return filter->filterBoundingBox(object->objectBoundingBox());
     285    if (RenderSVGResourceFilter* filter = getRenderSVGResourceById<RenderSVGResourceFilter>(object->document(), object->style()->svgStyle()->filterResource()))
     286        return filter->resourceBoundingBox(object->objectBoundingBox());
    289287#else
    290288    UNUSED_PARAM(object);
     
    316314    if (RenderSVGResourceClipper* clipper = getRenderSVGResourceById<RenderSVGResourceClipper>(object->document(), object->style()->svgStyle()->clipperResource()))
    317315        clipper->invalidateClient(object);
     316#if ENABLE(FILTERS)
     317    if (RenderSVGResourceFilter* filter = getRenderSVGResourceById<RenderSVGResourceFilter>(object->document(), object->style()->svgStyle()->filterResource()))
     318        filter->invalidateClient(object);
     319#endif
    318320    if (RenderSVGResourceMarker* startMarker = getRenderSVGResourceById<RenderSVGResourceMarker>(object->document(), object->style()->svgStyle()->markerStartResource()))
    319321        startMarker->invalidateClient(object);
  • trunk/WebCore/rendering/SVGRenderSupport.h

    r56693 r57880  
    3232namespace WebCore {
    3333
    34 class SVGResourceFilter;
     34class RenderSVGResourceFilter;
    3535class ImageBuffer;
    3636
     
    4848    // It's unclear if these should be exposed or not.  SVGRootInlineBox may
    4949    // pass the wrong RenderObject* and boundingBox to these functions.
    50     static bool prepareToRenderSVGContent(RenderObject*, RenderObject::PaintInfo&, const FloatRect& boundingBox, SVGResourceFilter*&, SVGResourceFilter* rootFilter = 0);
    51     static void finishRenderSVGContent(RenderObject*, RenderObject::PaintInfo&, SVGResourceFilter*&, GraphicsContext* savedContext);
     50    static bool prepareToRenderSVGContent(RenderObject*, RenderObject::PaintInfo&, const FloatRect& boundingBox, RenderSVGResourceFilter*&, RenderSVGResourceFilter* rootFilter = 0);
     51    static void finishRenderSVGContent(RenderObject*, RenderObject::PaintInfo&, RenderSVGResourceFilter*&, GraphicsContext* savedContext);
    5252
    5353    // Layout all children of the passed render object
  • trunk/WebCore/rendering/SVGRenderTreeAsText.cpp

    r57575 r57880  
    33 *           (C) 2005 Rob Buis <buis@kde.org>
    44 *           (C) 2006 Alexander Kellett <lypanov@kde.org>
     5 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
    56 *
    67 * Redistribution and use in source and binary forms, with or without
     
    4142#include "RenderSVGInlineText.h"
    4243#include "RenderSVGResourceClipper.h"
     44#include "RenderSVGResourceFilter.h"
    4345#include "RenderSVGResourceMarker.h"
    4446#include "RenderSVGResourceMasker.h"
     
    356358    writeIfNotEmpty(ts, "middle marker", svgStyle->markerMidResource());
    357359    writeIfNotEmpty(ts, "end marker", svgStyle->markerEndResource());
    358     writeIfNotEmpty(ts, "filter", svgStyle->filterResource());
    359360}
    360361
     
    529530        writeNameValuePair(ts, "maskUnits", masker->maskUnits());
    530531        writeNameValuePair(ts, "maskContentUnits", masker->maskContentUnits());
     532#if ENABLE(FILTERS)
     533    } else if (resource->resourceType() == FilterResourceType) {
     534        RenderSVGResourceFilter* filter = static_cast<RenderSVGResourceFilter*>(resource);
     535        ASSERT(filter);
     536        writeNameValuePair(ts, "filterUnits", filter->filterUnits());
     537        writeNameValuePair(ts, "primitiveUnits", filter->primitiveUnits());
     538        if (OwnPtr<SVGFilterBuilder> builder = filter->buildPrimitives()) {
     539            ts << "\n";
     540            const HashMap<AtomicString, RefPtr<FilterEffect> >& effects = builder->namedEffects();
     541            HashMap<AtomicString, RefPtr<FilterEffect> >::const_iterator end = effects.end();
     542            for (HashMap<AtomicString, RefPtr<FilterEffect> >::const_iterator it = effects.begin(); it != end; ++it) {
     543                writeIndent(ts, indent);
     544                ts << "  [primitve=\"" << it->first << "\" ";
     545                it->second->externalRepresentation(ts);
     546                ts << "]\n";
     547            }
     548            writeIndent(ts, indent);
     549            // FIXME: Some effects don't give a representation back. So we miss some more informations
     550            // after '[last primitive' .
     551            // We also just dump named effects and the last effect at the moment, more effects
     552            // without a name might be in the pipe.
     553            ts << "  [last primitive ";
     554            if (FilterEffect* lastEffect = builder->lastEffect())
     555                lastEffect->externalRepresentation(ts);
     556            ts << "]";
     557        }
     558#endif
    531559    } else if (resource->resourceType() == ClipperResourceType) {
    532560        RenderSVGResourceClipper* clipper = static_cast<RenderSVGResourceClipper*>(resource);
     
    545573    }
    546574
    547     // FIXME: Handle other RenderSVGResource* classes here, after converting them from SVGResource*.
    548575    ts << "\n";
    549576    writeChildren(ts, object, indent);
     
    625652        }
    626653    }
    627     // FIXME: Handle other RenderSVGResource* classes here, after converting them from SVGResource*.
     654#if ENABLE(FILTERS)
     655    if (!svgStyle->filterResource().isEmpty()) {
     656        if (RenderSVGResourceFilter* filter = getRenderSVGResourceById<RenderSVGResourceFilter>(object.document(), svgStyle->filterResource())) {
     657            writeIndent(ts, indent);
     658            ts << " ";
     659            writeNameAndQuotedValue(ts, "filter", svgStyle->filterResource());
     660            ts << " ";
     661            writeStandardPrefix(ts, *filter, 0);
     662            ts << " " << filter->resourceBoundingBox(object.objectBoundingBox()) << "\n";
     663        }
     664    }
     665#endif
    628666}
    629667
     
    649687            RefPtr<SVGPaintServer> paintServer = WTF::static_pointer_cast<SVGPaintServer>(resource);
    650688            ts << "KRenderingPaintServer {id=\"" << elementId << "\" " << *paintServer << "}" << "\n";
    651         } else
    652             ts << "KCanvasResource {id=\"" << elementId << "\" " << *resource << "}" << "\n";
     689        }
    653690    } while ((node = node->traverseNextNode(parent)));
    654691}
  • trunk/WebCore/rendering/SVGRootInlineBox.cpp

    r56776 r57880  
    3333#include "GraphicsContext.h"
    3434#include "RenderBlock.h"
     35#include "RenderSVGResourceFilter.h"
    3536#include "RenderSVGRoot.h"
    3637#include "SVGInlineFlowBox.h"
     
    4041#include "SVGRenderStyleDefs.h"
    4142#include "SVGRenderSupport.h"
    42 #include "SVGResourceFilter.h"
    4343#include "SVGTextPositioningElement.h"
    4444#include "SVGURIReference.h"
     
    338338// Helper class for paint()
    339339struct SVGRootInlineBoxPaintWalker {
    340     SVGRootInlineBoxPaintWalker(SVGRootInlineBox* rootBox, SVGResourceFilter* rootFilter, RenderObject::PaintInfo paintInfo, int tx, int ty)
     340    SVGRootInlineBoxPaintWalker(SVGRootInlineBox* rootBox, RenderSVGResourceFilter* rootFilter, RenderObject::PaintInfo paintInfo, int tx, int ty)
    341341        : m_rootBox(rootBox)
    342342        , m_chunkStarted(false)
     
    670670
    671671    FloatRect m_boundingBox;
    672     SVGResourceFilter* m_filter;
    673     SVGResourceFilter* m_rootFilter;
     672    RenderSVGResourceFilter* m_filter;
     673    RenderSVGResourceFilter* m_rootFilter;
    674674
    675675    SVGPaintServer* m_fillPaintServer;
     
    693693    paintInfo.context->save();
    694694
    695     SVGResourceFilter* filter = 0;
     695    RenderSVGResourceFilter* filter = 0;
    696696    FloatRect boundingBox(tx + x(), ty + y(), width(), height());
    697697
  • trunk/WebCore/svg/SVGFEBlendElement.cpp

    r53879 r57880  
    2525
    2626#include "MappedAttribute.h"
    27 #include "SVGResourceFilter.h"
    2827
    2928namespace WebCore {
     
    8079}
    8180
    82 bool SVGFEBlendElement::build(SVGResourceFilter* filterResource)
     81PassRefPtr<FilterEffect> SVGFEBlendElement::build(SVGFilterBuilder* filterBuilder)
    8382{
    84     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
    85     FilterEffect* input2 = filterResource->builder()->getEffectById(in2());
     83    FilterEffect* input1 = filterBuilder->getEffectById(in1());
     84    FilterEffect* input2 = filterBuilder->getEffectById(in2());
    8685
    8786    if (!input1 || !input2)
    88         return false;
     87        return 0;
    8988
    90     RefPtr<FilterEffect> effect = FEBlend::create(input1, input2, static_cast<BlendModeType>(mode()));
    91     filterResource->addFilterEffect(this, effect.release());
    92 
    93     return true;
     89    return FEBlend::create(input1, input2, static_cast<BlendModeType>(mode()));
    9490}
    9591
  • trunk/WebCore/svg/SVGFEBlendElement.h

    r53879 r57880  
    2727
    2828namespace WebCore {
    29     class SVGFEBlendElement : public SVGFilterPrimitiveStandardAttributes {
    30     public:
    31         SVGFEBlendElement(const QualifiedName&, Document*);
    32         virtual ~SVGFEBlendElement();
     29class SVGFEBlendElement : public SVGFilterPrimitiveStandardAttributes {
     30public:
     31    SVGFEBlendElement(const QualifiedName&, Document*);
     32    virtual ~SVGFEBlendElement();
    3333
    34         virtual void parseMappedAttribute(MappedAttribute*);
    35         virtual void synchronizeProperty(const QualifiedName&);
    36         virtual bool build(SVGResourceFilter*);
     34    virtual void parseMappedAttribute(MappedAttribute*);
     35    virtual void synchronizeProperty(const QualifiedName&);
     36    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    3737
    38     private:
    39         DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::inAttr, String, In1, in1)
    40         DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::in2Attr, String, In2, in2)
    41         DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::modeAttr, int, Mode, mode)
    42     };
     38private:
     39    DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::inAttr, String, In1, in1)
     40    DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::in2Attr, String, In2, in2)
     41    DECLARE_ANIMATED_PROPERTY(SVGFEBlendElement, SVGNames::modeAttr, int, Mode, mode)
     42};
    4343
    4444} // namespace WebCore
  • trunk/WebCore/svg/SVGFEColorMatrixElement.cpp

    r56355 r57880  
    2727#include "SVGNames.h"
    2828#include "SVGNumberList.h"
    29 #include "SVGResourceFilter.h"
    3029
    3130namespace WebCore {
     
    8281}
    8382
    84 bool SVGFEColorMatrixElement::build(SVGResourceFilter* filterResource)
     83PassRefPtr<FilterEffect> SVGFEColorMatrixElement::build(SVGFilterBuilder* filterBuilder)
    8584{
    86     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     85    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    8786
    8887    if (!input1)
    89         return false;
     88        return 0;
    9089
    9190    Vector<float> filterValues;
     
    121120            || (filterType == FECOLORMATRIX_TYPE_SATURATE && (size != 1
    122121                || filterValues[0] < 0.0f || filterValues[0] > 1.0f)))
    123             return false;
     122            return 0;
    124123    }
    125124
    126     RefPtr<FilterEffect> effect = FEColorMatrix::create(input1, filterType, filterValues);
    127     filterResource->addFilterEffect(this, effect.release());
    128    
    129     return true;
     125    return FEColorMatrix::create(input1, filterType, filterValues);
    130126}
    131127
  • trunk/WebCore/svg/SVGFEColorMatrixElement.h

    r53879 r57880  
    2929namespace WebCore {
    3030
    31     class SVGFEColorMatrixElement : public SVGFilterPrimitiveStandardAttributes {
    32     public:
    33         SVGFEColorMatrixElement(const QualifiedName&, Document*);
    34         virtual ~SVGFEColorMatrixElement();
     31class SVGFEColorMatrixElement : public SVGFilterPrimitiveStandardAttributes {
     32public:
     33    SVGFEColorMatrixElement(const QualifiedName&, Document*);
     34    virtual ~SVGFEColorMatrixElement();
    3535
    36         virtual void parseMappedAttribute(MappedAttribute*);
    37         virtual void synchronizeProperty(const QualifiedName&);
    38         virtual bool build(SVGResourceFilter*);
     36    virtual void parseMappedAttribute(MappedAttribute*);
     37    virtual void synchronizeProperty(const QualifiedName&);
     38    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    3939
    40     private:
    41         DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::inAttr, String, In1, in1)
    42         DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::typeAttr, int, Type, type)
    43         DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::valuesAttr, SVGNumberList*, Values, values)
    44     };
     40private:
     41    DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::inAttr, String, In1, in1)
     42    DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::typeAttr, int, Type, type)
     43    DECLARE_ANIMATED_PROPERTY(SVGFEColorMatrixElement, SVGNames::valuesAttr, SVGNumberList*, Values, values)
     44};
    4545
    4646} // namespace WebCore
  • trunk/WebCore/svg/SVGFEComponentTransferElement.cpp

    r53879 r57880  
    3232#include "SVGNames.h"
    3333#include "SVGRenderStyle.h"
    34 #include "SVGResourceFilter.h"
    3534
    3635namespace WebCore {
     
    6261}
    6362
    64 bool SVGFEComponentTransferElement::build(SVGResourceFilter* filterResource)
     63PassRefPtr<FilterEffect> SVGFEComponentTransferElement::build(SVGFilterBuilder* filterBuilder)
    6564{
    66     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     65    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    6766   
    6867    if (!input1)
    69         return false;
     68        return 0;
    7069
    7170    ComponentTransferFunction red;
     
    8584    }
    8685   
    87     RefPtr<FilterEffect> effect = FEComponentTransfer::create(input1, red, green, blue, alpha);
    88     filterResource->addFilterEffect(this, effect.release());
    89    
    90     return true;
     86    return FEComponentTransfer::create(input1, red, green, blue, alpha);
    9187}
    9288
    9389}
    9490
    95 #endif // ENABLE(SVG)
    96 
    97 // vim:ts=4:noet
     91#endif
  • trunk/WebCore/svg/SVGFEComponentTransferElement.h

    r53879 r57880  
    2828namespace WebCore {
    2929
    30     class SVGFEComponentTransferElement : public SVGFilterPrimitiveStandardAttributes {
    31     public:
    32         SVGFEComponentTransferElement(const QualifiedName&, Document*);
    33         virtual ~SVGFEComponentTransferElement();
     30class SVGFEComponentTransferElement : public SVGFilterPrimitiveStandardAttributes {
     31public:
     32    SVGFEComponentTransferElement(const QualifiedName&, Document*);
     33    virtual ~SVGFEComponentTransferElement();
    3434
    35         virtual void parseMappedAttribute(MappedAttribute*);
    36         virtual void synchronizeProperty(const QualifiedName&);
    37         virtual bool build(SVGResourceFilter*);
     35    virtual void parseMappedAttribute(MappedAttribute*);
     36    virtual void synchronizeProperty(const QualifiedName&);
     37    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    3838
    39     private:
    40         DECLARE_ANIMATED_PROPERTY(SVGFEComponentTransferElement, SVGNames::inAttr, String, In1, in1)
    41     };
     39private:
     40    DECLARE_ANIMATED_PROPERTY(SVGFEComponentTransferElement, SVGNames::inAttr, String, In1, in1)
     41};
    4242
    4343} // namespace WebCore
  • trunk/WebCore/svg/SVGFECompositeElement.cpp

    r53879 r57880  
    2626#include "MappedAttribute.h"
    2727#include "SVGNames.h"
    28 #include "SVGResourceFilter.h"
    2928
    3029namespace WebCore {
     
    103102}
    104103
    105 bool SVGFECompositeElement::build(SVGResourceFilter* filterResource)
     104PassRefPtr<FilterEffect> SVGFECompositeElement::build(SVGFilterBuilder* filterBuilder)
    106105{
    107     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
    108     FilterEffect* input2 = filterResource->builder()->getEffectById(in2());
     106    FilterEffect* input1 = filterBuilder->getEffectById(in1());
     107    FilterEffect* input2 = filterBuilder->getEffectById(in2());
    109108   
    110109    if (!input1 || !input2)
    111         return false;
     110        return 0;
    112111   
    113     RefPtr<FilterEffect> effect = FEComposite::create(input1, input2, static_cast<CompositeOperationType>(_operator()),
     112    return FEComposite::create(input1, input2, static_cast<CompositeOperationType>(_operator()),
    114113                                        k1(), k2(), k3(), k4());
    115     filterResource->addFilterEffect(this, effect.release());
    116 
    117     return true;
    118114}
    119115
  • trunk/WebCore/svg/SVGFECompositeElement.h

    r53879 r57880  
    2828namespace WebCore {
    2929
    30     class SVGFECompositeElement : public SVGFilterPrimitiveStandardAttributes {
    31     public:
    32         SVGFECompositeElement(const QualifiedName&, Document*);
    33         virtual ~SVGFECompositeElement();
     30class SVGFECompositeElement : public SVGFilterPrimitiveStandardAttributes {
     31public:
     32    SVGFECompositeElement(const QualifiedName&, Document*);
     33    virtual ~SVGFECompositeElement();
    3434
    35         virtual void parseMappedAttribute(MappedAttribute*);
    36         virtual void synchronizeProperty(const QualifiedName&);
    37         virtual bool build(SVGResourceFilter*);
     35    virtual void parseMappedAttribute(MappedAttribute*);
     36    virtual void synchronizeProperty(const QualifiedName&);
     37    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    3838
    39     private:
    40         DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::inAttr, String, In1, in1)
    41         DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::in2Attr, String, In2, in2)
    42         DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::operatorAttr, int, _operator, _operator)
    43         DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k1Attr, float, K1, k1)
    44         DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k2Attr, float, K2, k2)
    45         DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k3Attr, float, K3, k3)
    46         DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k4Attr, float, K4, k4)
    47     };
     39private:
     40    DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::inAttr, String, In1, in1)
     41    DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::in2Attr, String, In2, in2)
     42    DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::operatorAttr, int, _operator, _operator)
     43    DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k1Attr, float, K1, k1)
     44    DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k2Attr, float, K2, k2)
     45    DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k3Attr, float, K3, k3)
     46    DECLARE_ANIMATED_PROPERTY(SVGFECompositeElement, SVGNames::k4Attr, float, K4, k4)
     47};
    4848
    4949} // namespace WebCore
  • trunk/WebCore/svg/SVGFEDiffuseLightingElement.cpp

    r53879 r57880  
    3232#include "SVGParserUtilities.h"
    3333#include "SVGRenderStyle.h"
    34 #include "SVGResourceFilter.h"
    3534
    3635namespace WebCore {
     
    9493}
    9594
    96 bool SVGFEDiffuseLightingElement::build(SVGResourceFilter* filterResource)
     95PassRefPtr<FilterEffect> SVGFEDiffuseLightingElement::build(SVGFilterBuilder* filterBuilder)
    9796{
    98     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     97    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    9998   
    10099    if (!input1)
    101         return false;
     100        return 0;
    102101   
    103102    RefPtr<RenderStyle> filterStyle = styleForRenderer();
    104103    Color color = filterStyle->svgStyle()->lightingColor();
    105104   
    106     RefPtr<FilterEffect> effect = FEDiffuseLighting::create(input1, color, surfaceScale(), diffuseConstant(),
     105    return FEDiffuseLighting::create(input1, color, surfaceScale(), diffuseConstant(),
    107106                                            kernelUnitLengthX(), kernelUnitLengthY(), findLights());
    108     filterResource->addFilterEffect(this, effect.release());
    109    
    110     return true;
    111107}
    112108
  • trunk/WebCore/svg/SVGFEDiffuseLightingElement.h

    r53879 r57880  
    2929namespace WebCore {
    3030
    31     extern char SVGKernelUnitLengthXIdentifier[];
    32     extern char SVGKernelUnitLengthYIdentifier[];
     31extern char SVGKernelUnitLengthXIdentifier[];
     32extern char SVGKernelUnitLengthYIdentifier[];
    3333
    34     class FEDiffuseLighting;
    35     class SVGColor;
     34class FEDiffuseLighting;
     35class SVGColor;
    3636
    37     class SVGFEDiffuseLightingElement : public SVGFilterPrimitiveStandardAttributes {
    38     public:
    39         SVGFEDiffuseLightingElement(const QualifiedName&, Document*);
    40         virtual ~SVGFEDiffuseLightingElement();
     37class SVGFEDiffuseLightingElement : public SVGFilterPrimitiveStandardAttributes {
     38public:
     39    SVGFEDiffuseLightingElement(const QualifiedName&, Document*);
     40    virtual ~SVGFEDiffuseLightingElement();
    4141
    42         virtual void parseMappedAttribute(MappedAttribute*);
    43         virtual void synchronizeProperty(const QualifiedName&);
    44         virtual bool build(SVGResourceFilter*);
     42    virtual void parseMappedAttribute(MappedAttribute*);
     43    virtual void synchronizeProperty(const QualifiedName&);
     44    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    4545
    46     private:
    47         DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::inAttr, String, In1, in1)
    48         DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::diffuseConstantAttr, float, DiffuseConstant, diffuseConstant)
    49         DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::surfaceScaleAttr, float, SurfaceScale, surfaceScale)
    50         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEDiffuseLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthXIdentifier, float, KernelUnitLengthX, kernelUnitLengthX)
    51         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEDiffuseLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthYIdentifier, float, KernelUnitLengthY, kernelUnitLengthY)
     46private:
     47    DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::inAttr, String, In1, in1)
     48    DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::diffuseConstantAttr, float, DiffuseConstant, diffuseConstant)
     49    DECLARE_ANIMATED_PROPERTY(SVGFEDiffuseLightingElement, SVGNames::surfaceScaleAttr, float, SurfaceScale, surfaceScale)
     50    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEDiffuseLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthXIdentifier, float, KernelUnitLengthX, kernelUnitLengthX)
     51    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEDiffuseLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthYIdentifier, float, KernelUnitLengthY, kernelUnitLengthY)
    5252
    53         PassRefPtr<LightSource> findLights() const;
    54     };
     53    PassRefPtr<LightSource> findLights() const;
     54};
    5555
    5656} // namespace WebCore
  • trunk/WebCore/svg/SVGFEDisplacementMapElement.cpp

    r53879 r57880  
    2424
    2525#include "MappedAttribute.h"
    26 #include "SVGResourceFilter.h"
    2726
    2827namespace WebCore {
     
    9594}
    9695
    97 bool SVGFEDisplacementMapElement::build(SVGResourceFilter* filterResource)
     96PassRefPtr<FilterEffect> SVGFEDisplacementMapElement::build(SVGFilterBuilder* filterBuilder)
    9897{
    99     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
    100     FilterEffect* input2 = filterResource->builder()->getEffectById(in2());
     98    FilterEffect* input1 = filterBuilder->getEffectById(in1());
     99    FilterEffect* input2 = filterBuilder->getEffectById(in2());
    101100   
    102101    if (!input1 || !input2)
    103         return false;
     102        return 0;
    104103       
    105104   
    106     RefPtr<FilterEffect> effect = FEDisplacementMap::create(input1, input2, static_cast<ChannelSelectorType>(xChannelSelector()),
    107                                         static_cast<ChannelSelectorType>(yChannelSelector()), scale());
    108     filterResource->addFilterEffect(this, effect.release());
    109    
    110     return true;
     105    return FEDisplacementMap::create(input1, input2, static_cast<ChannelSelectorType>(xChannelSelector()),
     106                                     static_cast<ChannelSelectorType>(yChannelSelector()), scale());
    111107}
    112108
  • trunk/WebCore/svg/SVGFEDisplacementMapElement.h

    r53879 r57880  
    2727namespace WebCore {
    2828   
    29     class SVGFEDisplacementMapElement : public SVGFilterPrimitiveStandardAttributes {
    30     public:
    31         SVGFEDisplacementMapElement(const QualifiedName& tagName, Document*);
    32         virtual ~SVGFEDisplacementMapElement();
    33        
    34         static ChannelSelectorType stringToChannel(const String&);
    35        
    36         virtual void parseMappedAttribute(MappedAttribute*);
    37         virtual void synchronizeProperty(const QualifiedName&);
    38         virtual bool build(SVGResourceFilter*);
    39        
    40     private:
    41         DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::inAttr, String, In1, in1)
    42         DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::in2Attr, String, In2, in2)
    43         DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::xChannelSelectorAttr, int, XChannelSelector, xChannelSelector)
    44         DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::yChannelSelectorAttr, int, YChannelSelector, yChannelSelector)
    45         DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::scaleAttr, float, Scale, scale)
    46     };
     29class SVGFEDisplacementMapElement : public SVGFilterPrimitiveStandardAttributes {
     30public:
     31    SVGFEDisplacementMapElement(const QualifiedName& tagName, Document*);
     32    virtual ~SVGFEDisplacementMapElement();
     33   
     34    static ChannelSelectorType stringToChannel(const String&);
     35   
     36    virtual void parseMappedAttribute(MappedAttribute*);
     37    virtual void synchronizeProperty(const QualifiedName&);
     38    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
     39   
     40private:
     41    DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::inAttr, String, In1, in1)
     42    DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::in2Attr, String, In2, in2)
     43    DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::xChannelSelectorAttr, int, XChannelSelector, xChannelSelector)
     44    DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::yChannelSelectorAttr, int, YChannelSelector, yChannelSelector)
     45    DECLARE_ANIMATED_PROPERTY(SVGFEDisplacementMapElement, SVGNames::scaleAttr, float, Scale, scale)
     46};
    4747
    4848} // namespace WebCore
  • trunk/WebCore/svg/SVGFEFloodElement.cpp

    r50583 r57880  
    2727#include "RenderStyle.h"
    2828#include "SVGRenderStyle.h"
    29 #include "SVGResourceFilter.h"
    3029
    3130namespace WebCore {
     
    4039}
    4140
    42 bool SVGFEFloodElement::build(SVGResourceFilter* filterResource)
     41PassRefPtr<FilterEffect> SVGFEFloodElement::build(SVGFilterBuilder*)
    4342{
    4443    RefPtr<RenderStyle> filterStyle = styleForRenderer();
     
    4746    float opacity = filterStyle->svgStyle()->floodOpacity();
    4847
    49     RefPtr<FilterEffect> effect = FEFlood::create(color, opacity);
    50     filterResource->addFilterEffect(this, effect.release());
    51    
    52     return true;
     48    return FEFlood::create(color, opacity);
    5349}
    5450
  • trunk/WebCore/svg/SVGFEFloodElement.h

    r50583 r57880  
    2727
    2828namespace WebCore {
    29     class SVGFEFloodElement : public SVGFilterPrimitiveStandardAttributes {
    30     public:
    31         SVGFEFloodElement(const QualifiedName&, Document*);
    32         virtual ~SVGFEFloodElement();
     29class SVGFEFloodElement : public SVGFilterPrimitiveStandardAttributes {
     30public:
     31    SVGFEFloodElement(const QualifiedName&, Document*);
     32    virtual ~SVGFEFloodElement();
    3333
    34         virtual bool build(SVGResourceFilter*);
    35     };
     34    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
     35};
    3636
    3737} // namespace WebCore
  • trunk/WebCore/svg/SVGFEGaussianBlurElement.cpp

    r53879 r57880  
    2727#include "SVGNames.h"
    2828#include "SVGParserUtilities.h"
    29 #include "SVGResourceFilter.h"
    3029
    3130namespace WebCore {
     
    8180}
    8281
    83 bool SVGFEGaussianBlurElement::build(SVGResourceFilter* filterResource)
     82PassRefPtr<FilterEffect> SVGFEGaussianBlurElement::build(SVGFilterBuilder* filterBuilder)
    8483{
    85     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     84    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    8685
    8786    if (!input1)
    88         return false;
     87        return 0;
    8988
    90     RefPtr<FilterEffect> effect = FEGaussianBlur::create(input1, stdDeviationX(), stdDeviationY());
    91     filterResource->addFilterEffect(this, effect.release());
    92 
    93     return true;
     89    return FEGaussianBlur::create(input1, stdDeviationX(), stdDeviationY());
    9490}
    9591
  • trunk/WebCore/svg/SVGFEGaussianBlurElement.h

    r53879 r57880  
    2828namespace WebCore {
    2929
    30     extern char SVGStdDeviationXAttrIdentifier[];
    31     extern char SVGStdDeviationYAttrIdentifier[];
     30extern char SVGStdDeviationXAttrIdentifier[];
     31extern char SVGStdDeviationYAttrIdentifier[];
    3232
    33     class SVGFEGaussianBlurElement : public SVGFilterPrimitiveStandardAttributes {
    34     public:
    35         SVGFEGaussianBlurElement(const QualifiedName&, Document*);
    36         virtual ~SVGFEGaussianBlurElement();
     33class SVGFEGaussianBlurElement : public SVGFilterPrimitiveStandardAttributes {
     34public:
     35    SVGFEGaussianBlurElement(const QualifiedName&, Document*);
     36    virtual ~SVGFEGaussianBlurElement();
    3737
    38         void setStdDeviation(float stdDeviationX, float stdDeviationY);
     38    void setStdDeviation(float stdDeviationX, float stdDeviationY);
    3939
    40         virtual void parseMappedAttribute(MappedAttribute*);
    41         virtual void synchronizeProperty(const QualifiedName&);
    42         virtual bool build(SVGResourceFilter*);
     40    virtual void parseMappedAttribute(MappedAttribute*);
     41    virtual void synchronizeProperty(const QualifiedName&);
     42    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    4343
    44     private:
    45         DECLARE_ANIMATED_PROPERTY(SVGFEGaussianBlurElement, SVGNames::inAttr, String, In1, in1)
    46         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, SVGStdDeviationXAttrIdentifier, float, StdDeviationX, stdDeviationX)
    47         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, SVGStdDeviationYAttrIdentifier, float, StdDeviationY, stdDeviationY)
    48     };
     44private:
     45    DECLARE_ANIMATED_PROPERTY(SVGFEGaussianBlurElement, SVGNames::inAttr, String, In1, in1)
     46    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, SVGStdDeviationXAttrIdentifier, float, StdDeviationX, stdDeviationX)
     47    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEGaussianBlurElement, SVGNames::stdDeviationAttr, SVGStdDeviationYAttrIdentifier, float, StdDeviationY, stdDeviationY)
     48};
    4949
    5050} // namespace WebCore
  • trunk/WebCore/svg/SVGFEImageElement.cpp

    r53879 r57880  
    3434#include "SVGPreserveAspectRatio.h"
    3535#include "SVGRenderSupport.h"
    36 #include "SVGResourceFilter.h"
    3736
    3837namespace WebCore {
     
    112111}
    113112
    114 bool SVGFEImageElement::build(SVGResourceFilter* filterResource)
     113PassRefPtr<FilterEffect> SVGFEImageElement::build(SVGFilterBuilder*)
    115114{
    116115    if (!m_cachedImage && !m_targetImage) {
    117116        Element* hrefElement = document()->getElementById(SVGURIReference::getTarget(href()));
    118117        if (!hrefElement || !hrefElement->isSVGElement())
    119             return false;
     118            return 0;
    120119
    121120        RenderObject* renderer = hrefElement->renderer();
    122121        if (!renderer)
    123             return false;
     122            return 0;
    124123
    125124        IntRect targetRect = enclosingIntRect(renderer->objectBoundingBox());
     
    129128    }
    130129
    131     RefPtr<FilterEffect> effect = FEImage::create(m_targetImage ? m_targetImage->image() : m_cachedImage->image(), preserveAspectRatio());
    132     filterResource->addFilterEffect(this, effect.release());
    133 
    134     return true;
     130    return FEImage::create(m_targetImage ? m_targetImage->image() : m_cachedImage->image(), preserveAspectRatio());
    135131}
    136132
  • trunk/WebCore/svg/SVGFEImageElement.h

    r53879 r57880  
    2323
    2424#if ENABLE(SVG) && ENABLE(FILTERS)
     25#include "CachedResourceClient.h"
    2526#include "CachedResourceHandle.h"
    2627#include "ImageBuffer.h"
     
    3435namespace WebCore {
    3536
    36     class SVGFEImageElement : public SVGFilterPrimitiveStandardAttributes,
    37                               public SVGURIReference,
    38                               public SVGLangSpace,
    39                               public SVGExternalResourcesRequired,
    40                               public CachedResourceClient {
    41     public:
    42         SVGFEImageElement(const QualifiedName&, Document*);
    43         virtual ~SVGFEImageElement();
     37class SVGFEImageElement : public SVGFilterPrimitiveStandardAttributes,
     38                          public SVGURIReference,
     39                          public SVGLangSpace,
     40                          public SVGExternalResourcesRequired,
     41                          public CachedResourceClient {
     42public:
     43    SVGFEImageElement(const QualifiedName&, Document*);
     44    virtual ~SVGFEImageElement();
    4445
    45         virtual void parseMappedAttribute(MappedAttribute*);
    46         virtual void synchronizeProperty(const QualifiedName&);
    47         virtual void notifyFinished(CachedResource*);
     46    virtual void parseMappedAttribute(MappedAttribute*);
     47    virtual void synchronizeProperty(const QualifiedName&);
     48    virtual void notifyFinished(CachedResource*);
    4849
    49         virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
    50         virtual bool build(SVGResourceFilter*);
     50    virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
     51    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    5152
    52     private:
    53         void requestImageResource();
     53private:
     54    void requestImageResource();
    5455
    55         DECLARE_ANIMATED_PROPERTY(SVGFEImageElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
     56    DECLARE_ANIMATED_PROPERTY(SVGFEImageElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
    5657
    57         // SVGURIReference
    58         DECLARE_ANIMATED_PROPERTY(SVGFEImageElement, XLinkNames::hrefAttr, String, Href, href)
     58    // SVGURIReference
     59    DECLARE_ANIMATED_PROPERTY(SVGFEImageElement, XLinkNames::hrefAttr, String, Href, href)
    5960
    60         // SVGExternalResourcesRequired
    61         DECLARE_ANIMATED_PROPERTY(SVGFEImageElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     61    // SVGExternalResourcesRequired
     62    DECLARE_ANIMATED_PROPERTY(SVGFEImageElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
    6263
    63         CachedResourceHandle<CachedImage> m_cachedImage;
    64         OwnPtr<ImageBuffer> m_targetImage;
    65     };
     64    CachedResourceHandle<CachedImage> m_cachedImage;
     65    OwnPtr<ImageBuffer> m_targetImage;
     66};
    6667
    6768} // namespace WebCore
  • trunk/WebCore/svg/SVGFEMergeElement.cpp

    r52219 r57880  
    2525
    2626#include "SVGFEMergeNodeElement.h"
    27 #include "SVGResourceFilter.h"
    2827
    2928namespace WebCore {
     
    3837}
    3938
    40 bool SVGFEMergeElement::build(SVGResourceFilter* filterResource)
     39PassRefPtr<FilterEffect> SVGFEMergeElement::build(SVGFilterBuilder* filterBuilder)
    4140{
    4241    Vector<RefPtr<FilterEffect> > mergeInputs;
    4342    for (Node* n = firstChild(); n != 0; n = n->nextSibling()) {
    4443        if (n->hasTagName(SVGNames::feMergeNodeTag)) {
    45             FilterEffect* mergeEffect = filterResource->builder()->getEffectById(static_cast<SVGFEMergeNodeElement*>(n)->in1());
     44            FilterEffect* mergeEffect = filterBuilder->getEffectById(static_cast<SVGFEMergeNodeElement*>(n)->in1());
    4645            if (!mergeEffect)
    47                 return false;
     46                return 0;
    4847            mergeInputs.append(mergeEffect);
    4948        }
     
    5150
    5251    if (mergeInputs.isEmpty())
    53         return false;
     52        return 0;
    5453
    55     RefPtr<FilterEffect> effect = FEMerge::create(mergeInputs);
    56     filterResource->addFilterEffect(this, effect.release());
    57 
    58     return true;
     54    return FEMerge::create(mergeInputs);
    5955}
    6056
  • trunk/WebCore/svg/SVGFEMergeElement.h

    r50583 r57880  
    2828namespace WebCore {
    2929
    30     class SVGFEMergeElement : public SVGFilterPrimitiveStandardAttributes {
    31     public:
    32         SVGFEMergeElement(const QualifiedName&, Document*);
    33         virtual ~SVGFEMergeElement();
     30class SVGFEMergeElement : public SVGFilterPrimitiveStandardAttributes {
     31public:
     32    SVGFEMergeElement(const QualifiedName&, Document*);
     33    virtual ~SVGFEMergeElement();
    3434
    35         virtual bool build(SVGResourceFilter*);
    36     };
     35    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
     36};
    3737
    3838} // namespace WebCore
  • trunk/WebCore/svg/SVGFEMorphologyElement.cpp

    r56288 r57880  
    2626#include "SVGNames.h"
    2727#include "SVGParserUtilities.h"
    28 #include "SVGResourceFilter.h"
    2928
    3029namespace WebCore {
     
    9089}
    9190
    92 bool SVGFEMorphologyElement::build(SVGResourceFilter* filterResource)
     91PassRefPtr<FilterEffect> SVGFEMorphologyElement::build(SVGFilterBuilder* filterBuilder)
    9392{
    94     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     93    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    9594    SVGAnimatedPropertyTraits<float>::ReturnType radX = radiusX(),
    9695        radY = radiusY();
    9796
    9897    if (!input1)
    99         return false;
     98        return 0;
    10099
    101100    if (radX < 0 || radY < 0)
    102         return false;
     101        return 0;
    103102
    104     RefPtr<FilterEffect> effect = FEMorphology::create(input1, static_cast<MorphologyOperatorType>(_operator()), radX, radY);
    105     filterResource->addFilterEffect(this, effect.release());
    106    
    107     return true;
     103    return FEMorphology::create(input1, static_cast<MorphologyOperatorType>(_operator()), radX, radY);
    108104}
    109105
  • trunk/WebCore/svg/SVGFEMorphologyElement.h

    r53879 r57880  
    2727namespace WebCore {
    2828
    29     extern char SVGRadiusXAttrIdentifier[];
    30     extern char SVGRadiusYAttrIdentifier[];
     29extern char SVGRadiusXAttrIdentifier[];
     30extern char SVGRadiusYAttrIdentifier[];
    3131
    32     class SVGFEMorphologyElement : public SVGFilterPrimitiveStandardAttributes {
    33     public:
    34         SVGFEMorphologyElement(const QualifiedName&, Document*);
    35         virtual ~SVGFEMorphologyElement();
     32class SVGFEMorphologyElement : public SVGFilterPrimitiveStandardAttributes {
     33public:
     34    SVGFEMorphologyElement(const QualifiedName&, Document*);
     35    virtual ~SVGFEMorphologyElement();
    3636
    37         void setRadius(float radiusX, float radiusY);
     37    void setRadius(float radiusX, float radiusY);
    3838
    39         virtual void parseMappedAttribute(MappedAttribute*);
    40         virtual void synchronizeProperty(const QualifiedName&);
    41         virtual bool build(SVGResourceFilter*);
     39    virtual void parseMappedAttribute(MappedAttribute*);
     40    virtual void synchronizeProperty(const QualifiedName&);
     41    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    4242
    43     private:
    44         DECLARE_ANIMATED_PROPERTY(SVGFEMorphologyElement, SVGNames::inAttr, String, In1, in1)
    45         DECLARE_ANIMATED_PROPERTY(SVGFEMorphologyElement, SVGNames::operatorAttr, int, _operator, _operator)
    46         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEMorphologyElement, SVGNames::radiusAttr, SVGRadiusXAttrIdentifier, float, RadiusX, radiusX)
    47         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEMorphologyElement, SVGNames::radiusAttr, SVGRadiusYAttrIdentifier, float, RadiusY, radiusY)
    48     };
     43private:
     44    DECLARE_ANIMATED_PROPERTY(SVGFEMorphologyElement, SVGNames::inAttr, String, In1, in1)
     45    DECLARE_ANIMATED_PROPERTY(SVGFEMorphologyElement, SVGNames::operatorAttr, int, _operator, _operator)
     46    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEMorphologyElement, SVGNames::radiusAttr, SVGRadiusXAttrIdentifier, float, RadiusX, radiusX)
     47    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFEMorphologyElement, SVGNames::radiusAttr, SVGRadiusYAttrIdentifier, float, RadiusY, radiusY)
     48};
    4949
    5050} // namespace WebCore
  • trunk/WebCore/svg/SVGFEOffsetElement.cpp

    r53879 r57880  
    2626#include "Attr.h"
    2727#include "MappedAttribute.h"
    28 #include "SVGResourceFilter.h"
    2928
    3029namespace WebCore {
     
    7170}
    7271
    73 bool SVGFEOffsetElement::build(SVGResourceFilter* filterResource)
     72PassRefPtr<FilterEffect> SVGFEOffsetElement::build(SVGFilterBuilder* filterBuilder)
    7473{
    75     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     74    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    7675
    7776    if (!input1)
    78         return false;
     77        return 0;
    7978
    80     RefPtr<FilterEffect> effect = FEOffset::create(input1, dx(), dy());
    81     filterResource->addFilterEffect(this, effect.release());
    82 
    83     return true;
     79    return FEOffset::create(input1, dx(), dy());
    8480}
    8581
  • trunk/WebCore/svg/SVGFEOffsetElement.h

    r53879 r57880  
    2828namespace WebCore {
    2929
    30     class SVGFEOffsetElement : public SVGFilterPrimitiveStandardAttributes {
    31     public:
    32         SVGFEOffsetElement(const QualifiedName&, Document*);
    33         virtual ~SVGFEOffsetElement();
     30class SVGFEOffsetElement : public SVGFilterPrimitiveStandardAttributes {
     31public:
     32    SVGFEOffsetElement(const QualifiedName&, Document*);
     33    virtual ~SVGFEOffsetElement();
    3434
    35         virtual void parseMappedAttribute(MappedAttribute*);
    36         virtual void synchronizeProperty(const QualifiedName&);
    37         virtual bool build(SVGResourceFilter*);
     35    virtual void parseMappedAttribute(MappedAttribute*);
     36    virtual void synchronizeProperty(const QualifiedName&);
     37    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    3838
    39     private:
    40         DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::inAttr, String, In1, in1)
    41         DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::dxAttr, float, Dx, dx)
    42         DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::dyAttr, float, Dy, dy)
    43     };
     39private:
     40    DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::inAttr, String, In1, in1)
     41    DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::dxAttr, float, Dx, dx)
     42    DECLARE_ANIMATED_PROPERTY(SVGFEOffsetElement, SVGNames::dyAttr, float, Dy, dy)
     43};
    4444
    4545} // namespace WebCore
  • trunk/WebCore/svg/SVGFESpecularLightingElement.cpp

    r53879 r57880  
    3131#include "SVGNames.h"
    3232#include "SVGParserUtilities.h"
    33 #include "SVGResourceFilter.h"
    3433
    3534namespace WebCore {
     
    110109}
    111110
    112 bool SVGFESpecularLightingElement::build(SVGResourceFilter* filterResource)
     111PassRefPtr<FilterEffect> SVGFESpecularLightingElement::build(SVGFilterBuilder* filterBuilder)
    113112{
    114     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     113    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    115114   
    116115    if (!input1)
    117         return false;
     116        return 0;
    118117   
    119118    RefPtr<RenderStyle> filterStyle = styleForRenderer();   
     
    121120    Color color = filterStyle->svgStyle()->lightingColor();
    122121   
    123     RefPtr<FilterEffect> effect = FESpecularLighting::create(input1, color, surfaceScale(), specularConstant(),
    124                                         specularExponent(), kernelUnitLengthX(), kernelUnitLengthY(), findLights());
    125     filterResource->addFilterEffect(this, effect.release());
    126 
    127     return true;
     122    return FESpecularLighting::create(input1, color, surfaceScale(), specularConstant(),
     123                                      specularExponent(), kernelUnitLengthX(), kernelUnitLengthY(), findLights());
    128124}
    129125
  • trunk/WebCore/svg/SVGFESpecularLightingElement.h

    r53879 r57880  
    2929namespace WebCore {
    3030
    31     extern char SVGKernelUnitLengthXIdentifier[];
    32     extern char SVGKernelUnitLengthYIdentifier[];
     31extern char SVGKernelUnitLengthXIdentifier[];
     32extern char SVGKernelUnitLengthYIdentifier[];
    3333
    34     class SVGFESpecularLightingElement : public SVGFilterPrimitiveStandardAttributes {
    35     public:
    36         SVGFESpecularLightingElement(const QualifiedName&, Document*);
    37         virtual ~SVGFESpecularLightingElement();
    38        
    39         virtual void parseMappedAttribute(MappedAttribute*);
    40         virtual void synchronizeProperty(const QualifiedName&);
    41         virtual bool build(SVGResourceFilter*);
     34class SVGFESpecularLightingElement : public SVGFilterPrimitiveStandardAttributes {
     35public:
     36    SVGFESpecularLightingElement(const QualifiedName&, Document*);
     37    virtual ~SVGFESpecularLightingElement();
     38   
     39    virtual void parseMappedAttribute(MappedAttribute*);
     40    virtual void synchronizeProperty(const QualifiedName&);
     41    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    4242
    43     private:
    44         DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::inAttr, String, In1, in1)
    45         DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::specularConstantAttr, float, SpecularConstant, specularConstant)
    46         DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::specularExponentAttr, float, SpecularExponent, specularExponent)
    47         DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::surfaceScaleAttr, float, SurfaceScale, surfaceScale)
    48         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFESpecularLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthXIdentifier, float, KernelUnitLengthX, kernelUnitLengthX)
    49         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFESpecularLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthYIdentifier, float, KernelUnitLengthY, kernelUnitLengthY)
     43private:
     44    DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::inAttr, String, In1, in1)
     45    DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::specularConstantAttr, float, SpecularConstant, specularConstant)
     46    DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::specularExponentAttr, float, SpecularExponent, specularExponent)
     47    DECLARE_ANIMATED_PROPERTY(SVGFESpecularLightingElement, SVGNames::surfaceScaleAttr, float, SurfaceScale, surfaceScale)
     48    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFESpecularLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthXIdentifier, float, KernelUnitLengthX, kernelUnitLengthX)
     49    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFESpecularLightingElement, SVGNames::kernelUnitLengthAttr, SVGKernelUnitLengthYIdentifier, float, KernelUnitLengthY, kernelUnitLengthY)
    5050
    51         PassRefPtr<LightSource> findLights() const;
    52     };
     51    PassRefPtr<LightSource> findLights() const;
     52};
    5353
    5454} // namespace WebCore
  • trunk/WebCore/svg/SVGFETileElement.cpp

    r53879 r57880  
    2727#include "MappedAttribute.h"
    2828#include "SVGRenderStyle.h"
    29 #include "SVGResourceFilter.h"
    3029
    3130namespace WebCore {
     
    5756}
    5857
    59 bool SVGFETileElement::build(SVGResourceFilter* filterResource)
     58PassRefPtr<FilterEffect> SVGFETileElement::build(SVGFilterBuilder* filterBuilder)
    6059{
    61     FilterEffect* input1 = filterResource->builder()->getEffectById(in1());
     60    FilterEffect* input1 = filterBuilder->getEffectById(in1());
    6261
    6362    if (!input1)
    64         return false;
     63        return 0;
    6564
    66     RefPtr<FilterEffect> effect = FETile::create(input1);
    67     filterResource->addFilterEffect(this, effect.release());
    68    
    69     return true;
     65    return FETile::create(input1);
    7066}
    7167
  • trunk/WebCore/svg/SVGFETileElement.h

    r53879 r57880  
    2828namespace WebCore {
    2929
    30     class SVGFETileElement : public SVGFilterPrimitiveStandardAttributes {
    31     public:
    32         SVGFETileElement(const QualifiedName&, Document*);
    33         virtual ~SVGFETileElement();
     30class SVGFETileElement : public SVGFilterPrimitiveStandardAttributes {
     31public:
     32    SVGFETileElement(const QualifiedName&, Document*);
     33    virtual ~SVGFETileElement();
    3434
    35         virtual void parseMappedAttribute(MappedAttribute*);
    36         virtual void synchronizeProperty(const QualifiedName&);
    37         virtual bool build(SVGResourceFilter*);
     35    virtual void parseMappedAttribute(MappedAttribute*);
     36    virtual void synchronizeProperty(const QualifiedName&);
     37    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    3838
    39     private:
    40         DECLARE_ANIMATED_PROPERTY(SVGFETileElement, SVGNames::inAttr, String, In1, in1)
    41     };
     39private:
     40    DECLARE_ANIMATED_PROPERTY(SVGFETileElement, SVGNames::inAttr, String, In1, in1)
     41};
    4242
    4343} // namespace WebCore
  • trunk/WebCore/svg/SVGFETurbulenceElement.cpp

    r53879 r57880  
    2626#include "MappedAttribute.h"
    2727#include "SVGParserUtilities.h"
    28 #include "SVGResourceFilter.h"
    2928
    3029namespace WebCore {
     
    9998}
    10099
    101 bool SVGFETurbulenceElement::build(SVGResourceFilter* filterResource)
     100PassRefPtr<FilterEffect> SVGFETurbulenceElement::build(SVGFilterBuilder*)
    102101{
    103     RefPtr<FilterEffect> effect = FETurbulence::create(static_cast<TurbulanceType>(type()), baseFrequencyX(),
    104                                         baseFrequencyY(), numOctaves(), seed(), stitchTiles() == SVG_STITCHTYPE_STITCH);
    105     filterResource->addFilterEffect(this, effect.release());
    106 
    107     return true;
     102    return FETurbulence::create(static_cast<TurbulanceType>(type()), baseFrequencyX(),
     103                baseFrequencyY(), numOctaves(), seed(), stitchTiles() == SVG_STITCHTYPE_STITCH);
    108104}
    109105
  • trunk/WebCore/svg/SVGFETurbulenceElement.h

    r53879 r57880  
    2828namespace WebCore {
    2929
    30     extern char SVGBaseFrequencyXIdentifier[];
    31     extern char SVGBaseFrequencyYIdentifier[];
     30extern char SVGBaseFrequencyXIdentifier[];
     31extern char SVGBaseFrequencyYIdentifier[];
    3232
    33     enum SVGStitchOptions {
    34         SVG_STITCHTYPE_UNKNOWN  = 0,
    35         SVG_STITCHTYPE_STITCH   = 1,
    36         SVG_STITCHTYPE_NOSTITCH = 2
    37     };
     33enum SVGStitchOptions {
     34    SVG_STITCHTYPE_UNKNOWN  = 0,
     35    SVG_STITCHTYPE_STITCH   = 1,
     36    SVG_STITCHTYPE_NOSTITCH = 2
     37};
    3838
    39     class SVGFETurbulenceElement : public SVGFilterPrimitiveStandardAttributes {
    40     public:
    41         SVGFETurbulenceElement(const QualifiedName&, Document*);
    42         virtual ~SVGFETurbulenceElement();
     39class SVGFETurbulenceElement : public SVGFilterPrimitiveStandardAttributes {
     40public:
     41    SVGFETurbulenceElement(const QualifiedName&, Document*);
     42    virtual ~SVGFETurbulenceElement();
    4343
    44         virtual void parseMappedAttribute(MappedAttribute*);
    45         virtual void synchronizeProperty(const QualifiedName&);
    46         virtual bool build(SVGResourceFilter*);
     44    virtual void parseMappedAttribute(MappedAttribute*);
     45    virtual void synchronizeProperty(const QualifiedName&);
     46    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    4747
    48     private:
    49         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, SVGBaseFrequencyXIdentifier, float, BaseFrequencyX, baseFrequencyX)
    50         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, SVGBaseFrequencyYIdentifier, float, BaseFrequencyY, baseFrequencyY)
    51         DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::numOctavesAttr, long, NumOctaves, numOctaves)
    52         DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::seedAttr, float, Seed, seed)
    53         DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::stitchTilesAttr, int, StitchTiles, stitchTiles)
    54         DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::typeAttr, int, Type, type)
    55     };
     48private:
     49    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, SVGBaseFrequencyXIdentifier, float, BaseFrequencyX, baseFrequencyX)
     50    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFETurbulenceElement, SVGNames::baseFrequencyAttr, SVGBaseFrequencyYIdentifier, float, BaseFrequencyY, baseFrequencyY)
     51    DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::numOctavesAttr, long, NumOctaves, numOctaves)
     52    DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::seedAttr, float, Seed, seed)
     53    DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::stitchTilesAttr, int, StitchTiles, stitchTiles)
     54    DECLARE_ANIMATED_PROPERTY(SVGFETurbulenceElement, SVGNames::typeAttr, int, Type, type)
     55};
    5656
    5757} // namespace WebCore
  • trunk/WebCore/svg/SVGFilterElement.cpp

    r53879 r57880  
    44    Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
    55    Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
     6    Copyright (C) Research In Motion Limited 2010. All rights reserved.
    67
    78    This library is free software; you can redistribute it and/or
     
    3031#include "MappedAttribute.h"
    3132#include "PlatformString.h"
     33#include "RenderSVGResourceFilter.h"
    3234#include "SVGFilterBuilder.h"
    3335#include "SVGFilterPrimitiveStandardAttributes.h"
     
    3537#include "SVGNames.h"
    3638#include "SVGParserUtilities.h"
    37 #include "SVGResourceFilter.h"
    3839#include "SVGUnitTypes.h"
    3940
     
    162163}
    163164
    164 void SVGFilterElement::buildFilter(const FloatRect& targetRect) const
     165RenderObject* SVGFilterElement::createRenderer(RenderArena* arena, RenderStyle*)
    165166{
    166     bool filterBBoxMode = filterUnits() == SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX;
    167     bool primitiveBBoxMode = primitiveUnits() == SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX;
    168 
    169     FloatRect filterBBox;
    170     if (filterBBoxMode)
    171         filterBBox = FloatRect(x().valueAsPercentage(),
    172                                y().valueAsPercentage(),
    173                                width().valueAsPercentage(),
    174                                height().valueAsPercentage());
    175     else
    176         filterBBox = FloatRect(x().value(this),
    177                                y().value(this),
    178                                width().value(this),
    179                                height().value(this));
    180 
    181     FloatRect filterRect = filterBBox;
    182     if (filterBBoxMode)
    183         filterRect = FloatRect(targetRect.x() + filterRect.x() * targetRect.width(),
    184                                targetRect.y() + filterRect.y() * targetRect.height(),
    185                                filterRect.width() * targetRect.width(),
    186                                filterRect.height() * targetRect.height());
    187 
    188     m_filter->setFilterBoundingBox(filterRect);
    189     m_filter->setFilterRect(filterBBox);
    190     m_filter->setEffectBoundingBoxMode(primitiveBBoxMode);
    191     m_filter->setFilterBoundingBoxMode(filterBBoxMode);
    192 
    193     if (hasAttribute(SVGNames::filterResAttr)) {
    194         m_filter->setHasFilterResolution(true);
    195         m_filter->setFilterResolution(FloatSize(filterResX(), filterResY()));
    196     }
    197 
    198     // Add effects to the filter
    199     m_filter->builder()->clearEffects();
    200     for (Node* n = firstChild(); n != 0; n = n->nextSibling()) {
    201         SVGElement* element = 0;
    202         if (n->isSVGElement()) {
    203             element = static_cast<SVGElement*>(n);
    204             if (element->isFilterEffect()) {
    205                 SVGFilterPrimitiveStandardAttributes* effectElement = static_cast<SVGFilterPrimitiveStandardAttributes*>(element);
    206                 if (!effectElement->build(m_filter.get())) {
    207                     m_filter->builder()->clearEffects();
    208                     break;
    209                 }
    210             }
    211         }
    212     }
     167    return new (arena) RenderSVGResourceFilter(this);
     168}
    213169}
    214170
    215 SVGResource* SVGFilterElement::canvasResource(const RenderObject*)
    216 {
    217     if (!attached())
    218         return 0;
    219 
    220     if (!m_filter)
    221         m_filter = SVGResourceFilter::create(this);
    222     return m_filter.get();
    223 }
    224 
    225 }
    226 
    227 #endif // ENABLE(SVG) && ENABLE(FILTERS)
     171#endif
  • trunk/WebCore/svg/SVGFilterElement.h

    r53879 r57880  
    33    Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org>
    44    Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
     5    Copyright (C) Research In Motion Limited 2010. All rights reserved.
    56
    67    This library is free software; you can redistribute it and/or
     
    2526#if ENABLE(SVG) && ENABLE(FILTERS)
    2627#include "RenderObject.h"
    27 #include "SVGResourceFilter.h"
    2828#include "SVGExternalResourcesRequired.h"
    2929#include "SVGLangSpace.h"
     
    3333namespace WebCore {
    3434
    35     extern char SVGFilterResXIdentifier[];
    36     extern char SVGFilterResYIdentifier[];
     35extern char SVGFilterResXIdentifier[];
     36extern char SVGFilterResYIdentifier[];
    3737
    38     class SVGResourceFilter;
     38class SVGFilterElement : public SVGStyledElement,
     39                         public SVGURIReference,
     40                         public SVGLangSpace,
     41                         public SVGExternalResourcesRequired {
     42public:
     43    SVGFilterElement(const QualifiedName&, Document*);
     44    virtual ~SVGFilterElement();
    3945
    40     class SVGFilterElement : public SVGStyledElement,
    41                              public SVGURIReference,
    42                              public SVGLangSpace,
    43                              public SVGExternalResourcesRequired {
    44     public:
    45         SVGFilterElement(const QualifiedName&, Document*);
    46         virtual ~SVGFilterElement();
     46    void setFilterRes(unsigned long filterResX, unsigned long filterResY) const;
     47    FloatRect filterBoundingBox(const FloatRect&) const;
    4748
    48         virtual SVGResource* canvasResource(const RenderObject*);
     49    virtual void parseMappedAttribute(MappedAttribute*);
     50    virtual void synchronizeProperty(const QualifiedName&);
    4951
    50         void setFilterRes(unsigned long filterResX, unsigned long filterResY) const;
     52    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
    5153
    52         virtual void parseMappedAttribute(MappedAttribute*);
    53         virtual void synchronizeProperty(const QualifiedName&);
    54         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
     54private:
     55    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::filterUnitsAttr, int, FilterUnits, filterUnits)
     56    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::primitiveUnitsAttr, int, PrimitiveUnits, primitiveUnits)
     57    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::xAttr, SVGLength, X, x)
     58    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::yAttr, SVGLength, Y, y)
     59    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::widthAttr, SVGLength, Width, width)
     60    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::heightAttr, SVGLength, Height, height)
     61    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFilterElement, SVGNames::filterResAttr, SVGFilterResXIdentifier, long, FilterResX, filterResX)
     62    DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFilterElement, SVGNames::filterResAttr, SVGFilterResYIdentifier, long, FilterResY, filterResY)
    5563
    56     private:
    57         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::filterUnitsAttr, int, FilterUnits, filterUnits)
    58         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::primitiveUnitsAttr, int, PrimitiveUnits, primitiveUnits)
    59         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::xAttr, SVGLength, X, x)
    60         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::yAttr, SVGLength, Y, y)
    61         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::widthAttr, SVGLength, Width, width)
    62         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::heightAttr, SVGLength, Height, height)
    63         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFilterElement, SVGNames::filterResAttr, SVGFilterResXIdentifier, long, FilterResX, filterResX)
    64         DECLARE_ANIMATED_PROPERTY_MULTIPLE_WRAPPERS(SVGFilterElement, SVGNames::filterResAttr, SVGFilterResYIdentifier, long, FilterResY, filterResY)
     64    // SVGURIReference
     65    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, XLinkNames::hrefAttr, String, Href, href)
    6566
    66         // SVGURIReference
    67         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, XLinkNames::hrefAttr, String, Href, href)
     67    // SVGExternalResourcesRequired
     68    DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     69};
    6870
    69         // SVGExternalResourcesRequired
    70         DECLARE_ANIMATED_PROPERTY(SVGFilterElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
     71}
    7172
    72         mutable RefPtr<SVGResourceFilter> m_filter;
    73 
    74     private:
    75         friend class SVGResourceFilter;
    76         FloatRect filterBoundingBox(const FloatRect&) const;
    77         void buildFilter(const FloatRect& targetRect) const;
    78     };
    79 
    80 } // namespace WebCore
    81 
    82 #endif // ENABLE(SVG)
    8373#endif
     74#endif
  • trunk/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp

    r53879 r57880  
    9191}
    9292
    93 void SVGFilterPrimitiveStandardAttributes::setStandardAttributes(SVGResourceFilter* resourceFilter, FilterEffect* filterEffect) const
     93void SVGFilterPrimitiveStandardAttributes::setStandardAttributes(bool primitiveBoundingBoxMode, FilterEffect* filterEffect) const
    9494{
    9595    ASSERT(filterEffect);
    9696    if (!filterEffect)
    9797        return;
    98 
    99     ASSERT(resourceFilter);
    10098
    10199    if (this->hasAttribute(SVGNames::xAttr))
     
    109107
    110108    FloatRect effectBBox;
    111     if (resourceFilter->effectBoundingBoxMode())
     109    if (primitiveBoundingBoxMode)
    112110        effectBBox = FloatRect(x().valueAsPercentage(),
    113111                               y().valueAsPercentage(),
  • trunk/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h

    r53879 r57880  
    2323
    2424#if ENABLE(SVG) && ENABLE(FILTERS)
     25#include "FilterEffect.h"
    2526#include "SVGFilterBuilder.h"
    2627#include "SVGNames.h"
    27 #include "SVGResourceFilter.h"
    2828#include "SVGStyledElement.h"
     29
     30#include <wtf/PassRefPtr.h>
     31#include <wtf/RefPtr.h>
    2932
    3033namespace WebCore {
    3134
    32     class SVGResourceFilter;
     35class SVGFilterPrimitiveStandardAttributes : public SVGStyledElement {
     36public:
     37    SVGFilterPrimitiveStandardAttributes(const QualifiedName&, Document*);
     38    virtual ~SVGFilterPrimitiveStandardAttributes();
     39   
     40    virtual bool isFilterEffect() const { return true; }
    3341
    34     class SVGFilterPrimitiveStandardAttributes : public SVGStyledElement {
    35     public:
    36         SVGFilterPrimitiveStandardAttributes(const QualifiedName&, Document*);
    37         virtual ~SVGFilterPrimitiveStandardAttributes();
    38        
    39         virtual bool isFilterEffect() const { return true; }
     42    virtual void parseMappedAttribute(MappedAttribute*);
     43    virtual void synchronizeProperty(const QualifiedName&);
     44    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*) = 0;
    4045
    41         virtual void parseMappedAttribute(MappedAttribute*);
    42         virtual void synchronizeProperty(const QualifiedName&);
    43         virtual bool build(SVGResourceFilter*) = 0;
     46    virtual bool rendererIsNeeded(RenderStyle*) { return false; }
    4447
    45         virtual bool rendererIsNeeded(RenderStyle*) { return false; }
     48    void setStandardAttributes(bool, FilterEffect*) const;
    4649
    47     protected:
    48         friend class SVGResourceFilter;
    49         void setStandardAttributes(SVGResourceFilter*, FilterEffect*) const;
    50 
    51     private:
    52         DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::xAttr, SVGLength, X, x)
    53         DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::yAttr, SVGLength, Y, y)
    54         DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::widthAttr, SVGLength, Width, width)
    55         DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::heightAttr, SVGLength, Height, height)
    56         DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::resultAttr, String, Result, result)
    57     };
     50private:
     51    DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::xAttr, SVGLength, X, x)
     52    DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::yAttr, SVGLength, Y, y)
     53    DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::widthAttr, SVGLength, Width, width)
     54    DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::heightAttr, SVGLength, Height, height)
     55    DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::resultAttr, String, Result, result)
     56};
    5857
    5958} // namespace WebCore
  • trunk/WebCore/svg/SVGStyledElement.cpp

    r57659 r57880  
    3434#include "RenderSVGResource.h"
    3535#include "RenderSVGResourceClipper.h"
     36#include "RenderSVGResourceFilter.h"
    3637#include "RenderSVGResourceMasker.h"
    3738#include "SVGElement.h"
     
    4142#include "SVGRenderStyle.h"
    4243#include "SVGRenderSupport.h"
    43 #include "SVGResourceFilter.h"
     44#include "SVGResource.h"
    4445#include "SVGSVGElement.h"
    4546#include <wtf/Assertions.h>
     
    237238        return;
    238239
    239 #if ENABLE(FILTERS)
    240     SVGResourceFilter* filter = getFilterById(document, object->style()->svgStyle()->filterResource(), object);
    241     if (filter)
    242         filter->invalidate();
    243 #endif
    244 
    245240    deregisterFromResources(object);
    246241}
  • trunk/WebCore/svg/graphics/SVGResource.cpp

    r52866 r57880  
    5050    resourceSet().add(this);
    5151}
    52 
    5352
    5453SVGResource::~SVGResource()
  • trunk/WebCore/svg/graphics/SVGResource.h

    r56693 r57880  
    4646    // Painting mode
    4747    ImageResourceType,
    48     FilterResourceType,
    4948    PaintServerResourceType,
    5049   
     
    5453
    5554// The SVGResource file represent various graphics resources:
    56 // - Filter resource
    5755// - Pattern resource
    5856// - Linear/Radial gradient resource
     
    7068   
    7169    bool isPaintServer() const { return resourceType() == PaintServerResourceType; }
    72     bool isFilter() const { return resourceType() == FilterResourceType; }
    7370
    7471    virtual TextStream& externalRepresentation(TextStream&) const;
  • trunk/WebCore/svg/graphics/filters/SVGFilterBuilder.h

    r44338 r57880  
    4242        FilterEffect* lastEffect() const { return m_lastEffect.get(); }
    4343
     44        const HashMap<AtomicString, RefPtr<FilterEffect> >& namedEffects() { return m_namedEffects; }
     45
    4446        void clearEffects();
    4547
Note: See TracChangeset for help on using the changeset viewer.