| Differences between
and this patch
- LayoutTests/ChangeLog +11 lines
Lines 1-3 LayoutTests/ChangeLog_sec1
1
2009-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
1
2009-11-08  Shu Chang  <Chang.Shu@nokia.com>
12
2009-11-08  Shu Chang  <Chang.Shu@nokia.com>
2
13
3
        Reviewed by Holger Freyther.
14
        Reviewed by Holger Freyther.
- LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.checksum +1 lines
Line 0 LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.checksum_sec1
1
0f44ebc0eccbd0eacc9b9161ec121783
- LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.txt +49 lines
Line 0 LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.txt_sec1
1
KRenderingPaintServer {id="gradient" [type=LINEAR-GRADIENT] [stops=[(0.00,#0000FF), (1.00,#FFFF00)]] [start=(0,0)] [end=(1,0)]}
2
layer at (0,0) size 800x600
3
  RenderView at (0,0) size 800x600
4
layer 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"]
- LayoutTests/svg/filters/feConvolveMatrix.svg +61 lines
Line 0 LayoutTests/svg/filters/feConvolveMatrix.svg_sec1
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>
- LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.png +4 lines
Line 6 LayoutTests/platform/mac/svg/filters/feConvolveMatrix-expected.png_sec1
8
cZB46BxoJT+seLg1EOoxopAEfgUCFx9AdFqKZopQo2AimE+oriQNs0cfLvYNA8FtovYo+6jLMV2
9
svPeU5sZyzn+Lk34q6tnEN8in3x8yW/PuPxW21XvhnDt8wj+yqAznfmsubW+y8q1kEutsL5sHfr
10
uWX/73+FT/+ohl/9Y+/4L20/ec///16LI/HX3aqXb3nf1345Zf/ufYb7bK/2J/b+VfTbB/j5jh9
11
ntyv32uw2vD26/87qVlbNf5uT+/t9V3Hs8Tax3mJ9eD0/Rr22ce3uO6VnnIfmNk6yAsznV8brdP

Return to Bug 5861