LayoutTests/ChangeLog

 12009-11-08 Dirk Schulze <krit@webkit.org>
 2
 3 Reviewed by NOBODY (OOPS!).
 4
 5 Further tests for SVG feConvoleMatrix.
 6
 7 * platform/mac/svg/filters/feConvolveMatrix-expected.checksum: Added.
 8 * platform/mac/svg/filters/feConvolveMatrix-expected.png: Added.
 9 * platform/mac/svg/filters/feConvolveMatrix-expected.txt: Added.
 10 * svg/filters/feConvolveMatrix.svg: Added.
 11
1122009-11-08 Shu Chang <Chang.Shu@nokia.com>
213
314 Reviewed by Holger Freyther.
50626

LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.checksum

 10f44ebc0eccbd0eacc9b9161ec121783
02\ No newline at end of file
0

LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.txt

 1KRenderingPaintServer {id="gradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}
 2layer at (0,0) size 800x600
 3 RenderView at (0,0) size 800x600
 4layer at (0,0) size 800x600
 5 RenderSVGRoot {svg} at (10,10) size 490x230
 6 RenderSVGHiddenContainer {defs} at (0,0) size 0x0
 7 RenderSVGHiddenContainer {linearGradient} at (0,0) size 0x0
 8 RenderSVGGradientStop {stop} at (0,0) size 0x0
 9 RenderSVGGradientStop {stop} at (0,0) size 0x0
 10 RenderSVGContainer {use} at (10,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,10.00)}] [filter=f1]
 11 RenderSVGContainer {g} at (10,10) size 100x100
 12 RenderSVGViewportContainer {svg} at (10,10) size 100x100
 13 RenderPath {rect} at (10,10) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 14 RenderPath {rect} at (19.50,19.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
 15 RenderSVGContainer {use} at (140,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(140.00,10.00)}] [filter=f2]
 16 RenderSVGContainer {g} at (140,10) size 100x100
 17 RenderSVGViewportContainer {svg} at (140,10) size 100x100
 18 RenderPath {rect} at (140,10) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 19 RenderPath {rect} at (149.50,19.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
 20 RenderSVGContainer {use} at (270,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(270.00,10.00)}] [filter=f3]
 21 RenderSVGContainer {g} at (270,10) size 100x100
 22 RenderSVGViewportContainer {svg} at (270,10) size 100x100
 23 RenderPath {rect} at (270,10) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 24 RenderPath {rect} at (279.50,19.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
 25 RenderSVGContainer {use} at (400,10) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,10.00)}] [filter=f4]
 26 RenderSVGContainer {g} at (400,10) size 100x100
 27 RenderSVGViewportContainer {svg} at (400,10) size 100x100
 28 RenderPath {rect} at (400,10) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 29 RenderPath {rect} at (409.50,19.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
 30 RenderSVGContainer {use} at (10,140) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,140.00)}] [filter=f5]
 31 RenderSVGContainer {g} at (10,140) size 100x100
 32 RenderSVGViewportContainer {svg} at (10,140) size 100x100
 33 RenderPath {rect} at (10,140) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 34 RenderPath {rect} at (19.50,149.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
 35 RenderSVGContainer {use} at (140,140) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(140.00,140.00)}] [filter=f6]
 36 RenderSVGContainer {g} at (140,140) size 100x100
 37 RenderSVGViewportContainer {svg} at (140,140) size 100x100
 38 RenderPath {rect} at (140,140) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 39 RenderPath {rect} at (149.50,149.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
 40 RenderSVGContainer {use} at (270,140) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(270.00,140.00)}] [filter=f7]
 41 RenderSVGContainer {g} at (270,140) size 100x100
 42 RenderSVGViewportContainer {svg} at (270,140) size 100x100
 43 RenderPath {rect} at (270,140) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 44 RenderPath {rect} at (279.50,149.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
 45 RenderSVGContainer {use} at (400,140) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(400.00,140.00)}] [filter=f8]
 46 RenderSVGContainer {g} at (400,140) size 100x100
 47 RenderSVGViewportContainer {svg} at (400,140) size 100x100
 48 RenderPath {rect} at (400,140) size 100x100 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
 49 RenderPath {rect} at (409.50,149.50) size 81x81 [stroke={[type=SOLID] [color=#FF0000]}] [data="M10.00,10.00 L90.00,10.00 L90.00,90.00 L10.00,90.00 Z"]
0

LayoutTests/svg/filters/feConvolveMatrix.svg

 1<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 2<defs>
 3<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="0%">
 4<stop offset="0%" style="stop-color:rgb(0,0,255);stop-opacity:1"/>
 5<stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/>
 6</linearGradient>
 7
 8<!-- orderX * orderY != kernelSize - no rendering -->
 9<filter id="f1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 10<feConvolveMatrix order="3" kernelMatrix="1 1"/>
 11</filter>
 12
 13<!-- 3x3 GaussianBlur with edgeMode="none" -->
 14<filter id="f2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 15<feConvolveMatrix kernelMatrix="1 2 1 2 4 2 1 2 1" edgeMode="none"/>
 16</filter>
 17
 18<!-- 3x3 GaussianBlur with edgeMode="wrap" -->
 19<filter id="f3" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 20<feConvolveMatrix kernelMatrix="1 2 1 2 4 2 1 2 1" edgeMode="wrap"/>
 21</filter>
 22
 23<!-- 3x3 GaussianBlur edgeMode="duplicate" -->
 24<filter id="f4" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 25<feConvolveMatrix kernelMatrix="1 2 1 2 4 2 1 2 1" edgeMode="duplicate"/>
 26</filter>
 27
 28<!-- 3x3 GaussianBlur with divisor="0" - no rendering -->
 29<filter id="f5" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 30<feConvolveMatrix kernelMatrix="1 2 1 2 4 2 1 2 1" divisor="0"/>
 31</filter>
 32
 33<!-- 3x3 kernelMatrix with bias="0.5" -->
 34<filter id="f6" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 35<feConvolveMatrix kernelMatrix="-1 -1 -1 -1 9 -1 -1 -1 -1" edgeMode="none" bias="0.5"/>
 36</filter>
 37
 38<!-- 3x3 kernelMatrix with values of zero - no visible output -->
 39<filter id="f7" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 40<feConvolveMatrix kernelMatrix="0 0 0 0 0 0 0 0 0"/>
 41</filter>
 42
 43<!-- 9x0 kernelMatrix - no rendering -->
 44<filter id="f8" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
 45<feConvolveMatrix order="9 0" kernelMatrix="1 2 1 2 4 2 1 2 1"/>
 46</filter>
 47<symbol id="obj">
 48<rect x="0" y="0" width="100" height="100" style="fill:url(#gradient)"/>
 49<rect x="10" y="10" width="80" height="80" style="stroke:red;fill:none"/>
 50</symbol>
 51</defs>
 52
 53<use xlink:href="#obj" transform="translate(10, 10)" filter="url(#f1)"/>
 54<use xlink:href="#obj" transform="translate(140, 10)" filter="url(#f2)"/>
 55<use xlink:href="#obj" transform="translate(270, 10)" filter="url(#f3)"/>
 56<use xlink:href="#obj" transform="translate(400, 10)" filter="url(#f4)"/>
 57<use xlink:href="#obj" transform="translate(10, 140)" filter="url(#f5)"/>
 58<use xlink:href="#obj" transform="translate(140, 140)" filter="url(#f6)"/>
 59<use xlink:href="#obj" transform="translate(270, 140)" filter="url(#f7)"/>
 60<use xlink:href="#obj" transform="translate(400, 140)" filter="url(#f8)"/>
 61</svg>
0

LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.png

INVALID: Image lacks a checksum. This will fail with a MISSING error in run-webkit-tests. Always generate new png files using run-webkit-tests.