[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.18-1-697-g2f78b87
zimmermann at webkit.org
zimmermann at webkit.org
Wed Jan 20 22:23:32 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit e68055e560b3bb9e28ccc6ce796986c1f0ab1a68
Author: zimmermann at webkit.org <zimmermann at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Jan 14 04:09:22 2010 +0000
2010-01-13 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Oliver Hunt.
SVGClipPathElement shouldn't resolve style manually
https://bugs.webkit.org/show_bug.cgi?id=33647
Build renderers for SVGClipPathElement, so we can query the style from the renderer
instead of re-resolving style on every clip path resource invalidation.
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::createRenderer):
(WebCore::SVGClipPathElement::canvasResource):
* svg/SVGClipPathElement.h:
(WebCore::SVGClipPathElement::isValid):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index a788350..3629972 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,5 +1,43 @@
2010-01-13 Nikolas Zimmermann <nzimmermann at rim.com>
+ Reviewed by Dirk Schulze.
+
+ SVGClipPathElement shouldn't resolve style manually
+ https://bugs.webkit.org/show_bug.cgi?id=33647
+
+ Update baseline after introducing renderers for SVGClipPathElement.
+
+ * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt:
+ * platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
+ * platform/mac/svg/batik/text/textEffect2-expected.txt:
+ * platform/mac/svg/batik/text/textProperties-expected.txt:
+ * platform/mac/svg/css/clippath-with-shadow-expected.txt:
+ * platform/mac/svg/custom/clip-path-child-changes-expected.txt:
+ * platform/mac/svg/custom/clip-path-display-none-child-expected.txt:
+ * platform/mac/svg/custom/clip-path-href-changes-expected.txt:
+ * platform/mac/svg/custom/clip-path-referencing-use-expected.txt:
+ * platform/mac/svg/custom/clip-path-referencing-use2-expected.txt:
+ * platform/mac/svg/custom/clip-path-units-changes-expected.txt:
+ * platform/mac/svg/custom/clip-path-with-transform-expected.txt:
+ * platform/mac/svg/custom/empty-clip-path-expected.txt:
+ * platform/mac/svg/custom/focus-ring-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/js-late-clipPath-and-object-creation-expected.txt:
+ * platform/mac/svg/custom/js-late-clipPath-creation-expected.txt:
+ * platform/mac/svg/custom/recursive-clippath-expected.txt:
+ * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
+ * platform/mac/svg/custom/text-clip-expected.txt:
+ * platform/mac/svg/custom/visibility-override-clip-expected.txt:
+ * platform/mac/svg/filters/filter-clip-expected.txt:
+ * svg/custom/use-clipped-transform-expected.txt:
+
+2010-01-13 Nikolas Zimmermann <nzimmermann at rim.com>
+
Not reviewed. Remove six old tiger specific results, that are equal to the SL baseline now. Update one result, showing a marginal difference between Tiger/SL.
This is a follow-up commit for Dirks strokeBoundingBox() fixes -> should turn Tiger slave green again.
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt
index 96ad8c6..18d6385 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt
@@ -8,6 +8,9 @@ layer at (0,0) size 480x360
RenderSVGInlineText {#text} at (0,-17) size 356x22
chunk 1 (middle anchor) text run 1 at (62.50,35.00) startOffset 0 endOffset 51 width 355.00: "Testing stroke inclusion for 'clip-path' and 'mask'"
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {circle} at (0.03,0.23) size 0.55x0.55 [stroke={[type=SOLID] [color=#FF0000] [stroke width=0.15]}] [data="M0.50,0.50 L0.50,0.51 L0.50,0.53 L0.50,0.54 L0.49,0.55 L0.49,0.56 L0.49,0.57 L0.48,0.59 L0.48,0.60 L0.47,0.61 L0.46,0.62 L0.45,0.63 L0.45,0.64 L0.44,0.65 L0.43,0.65 L0.42,0.66 L0.41,0.67 L0.40,0.68 L0.39,0.68 L0.37,0.69 L0.36,0.69 L0.35,0.69 L0.34,0.70 L0.33,0.70 L0.31,0.70 L0.30,0.70 L0.29,0.70 L0.27,0.70 L0.26,0.70 L0.25,0.69 L0.24,0.69 L0.23,0.69 L0.21,0.68 L0.20,0.68 L0.19,0.67 L0.18,0.66 L0.17,0.65 L0.16,0.65 L0.15,0.64 L0.15,0.63 L0.14,0.62 L0.13,0.61 L0.12,0.60 L0.12,0.59 L0.11,0.57 L0.11,0.56 L0.11,0.55 L0.10,0.54 L0.10,0.53 L0.10,0.51 L0.10,0.50 L0.10,0.49 L0.10,0.47 L0.10,0.46 L0.11,0.45 L0.11,0.44 L0.11,0.43 L0.12,0.41 L0.12,0.40 L0.13,0.39 L0.14,0.38 L0.15,0.37 L0.15,0.36 L0.16,0.35 L0.17,0.35 L0.18,0.34 L0.19,0.33 L0.20,0.32 L0.21,0.32 L0.23,0.31 L0.24,0.31 L0.25,0.31 L0.26,0.30 L0.27,0.30 L0.29,0.30 L0.30,0.30 L0.31,0.30 L0.33,0.30 L0.34,0.30 L0.35,0.31 L0.36,0.31 L0.37,0.31 L0.39,0.32 L0.40,0.32 L0.41,0.33 L0.42,0.34 L0.43,0.35 L0.44,0.35 L0.45,0.36 L0.45,0.37 L0.46,0.38 L0.47,0.39 L0.48,0.40 L0.48,0.41 L0.49,0.43 L0.49,0.44 L0.49,0.45 L0.50,0.46 L0.50,0.47 L0.50,0.49 Z"]
+ RenderPath {circle} at (0.50,0.30) size 0.40x0.40 [data="M0.90,0.50 L0.90,0.51 L0.90,0.53 L0.90,0.54 L0.89,0.55 L0.89,0.56 L0.89,0.57 L0.88,0.59 L0.88,0.60 L0.87,0.61 L0.86,0.62 L0.85,0.63 L0.85,0.64 L0.84,0.65 L0.83,0.65 L0.82,0.66 L0.81,0.67 L0.80,0.68 L0.79,0.68 L0.77,0.69 L0.76,0.69 L0.75,0.69 L0.74,0.70 L0.73,0.70 L0.71,0.70 L0.70,0.70 L0.69,0.70 L0.67,0.70 L0.66,0.70 L0.65,0.69 L0.64,0.69 L0.63,0.69 L0.61,0.68 L0.60,0.68 L0.59,0.67 L0.58,0.66 L0.57,0.65 L0.56,0.65 L0.55,0.64 L0.55,0.63 L0.54,0.62 L0.53,0.61 L0.52,0.60 L0.52,0.59 L0.51,0.57 L0.51,0.56 L0.51,0.55 L0.50,0.54 L0.50,0.53 L0.50,0.51 L0.50,0.50 L0.50,0.49 L0.50,0.47 L0.50,0.46 L0.51,0.45 L0.51,0.44 L0.51,0.43 L0.52,0.41 L0.52,0.40 L0.53,0.39 L0.54,0.38 L0.55,0.37 L0.55,0.36 L0.56,0.35 L0.57,0.35 L0.58,0.34 L0.59,0.33 L0.60,0.32 L0.61,0.32 L0.63,0.31 L0.64,0.31 L0.65,0.31 L0.66,0.30 L0.67,0.30 L0.69,0.30 L0.70,0.30 L0.71,0.30 L0.73,0.30 L0.74,0.30 L0.75,0.31 L0.76,0.31 L0.77,0.31 L0.79,0.32 L0.80,0.32 L0.81,0.33 L0.82,0.34 L0.83,0.35 L0.84,0.35 L0.85,0.36 L0.85,0.37 L0.86,0.38 L0.87,0.39 L0.88,0.40 L0.88,0.41 L0.89,0.43 L0.89,0.44 L0.89,0.45 L0.90,0.46 L0.90,0.47 L0.90,0.49 Z"]
RenderPath {rect} at (170,60) size 160x80 [fill={[type=SOLID] [color=#00008B]}] [clip path="one"] [data="M150.00,0.00 L350.00,0.00 L350.00,200.00 L150.00,200.00 Z"]
RenderSVGText {text} at (50,110) size 111x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 111x18
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
index 5b6bfad..0259ad9 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
@@ -6,6 +6,11 @@ layer at (0,0) size 480x360
RenderSVGRoot {svg} at (0.50,0.50) size 479x359
RenderSVGContainer {g} at (20,17.50) size 325x268.50
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (200,10) size 60x100 [fill={[type=SOLID] [color=#000000]}] [data="M200.00,10.00 L260.00,10.00 L260.00,110.00 L200.00,110.00 Z"]
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (90,150) size 175x100 [fill={[type=SOLID] [color=#000000]}] [data="M90.00,150.00 L265.00,150.00 L265.00,250.00 L90.00,250.00 Z"]
+ RenderPath {rect} at (225,160) size 95x75 [fill={[type=SOLID] [color=#000000]}] [data="M225.00,160.00 L320.00,160.00 L320.00,235.00 L225.00,235.00 Z"]
RenderPath {rect} at (200,17.50) size 60x65 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#FF0000]}] [clip path="clip1"] [data="M20.00,20.00 L460.00,20.00 L460.00,80.00 L20.00,80.00 Z"]
RenderSVGText {text} at (20,130) size 325x33 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-27) size 325x33
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
index 6fbf9ee..29b948c 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
@@ -5,10 +5,14 @@ layer at (0,0) size 480x360
layer at (0,0) size 480x360
RenderSVGRoot {svg} at (0.50,0.50) size 479x359
RenderSVGContainer {g} at (20,50) size 457x236
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (0.25,0.50) size 0.60x1 [fill={[type=SOLID] [color=#000000]}] [data="M0.25,0.50 L0.85,0.50 L0.85,1.50 L0.25,1.50 Z"]
RenderPath {rect} at (117.50,50) size 258x40 [fill={[type=SOLID] [color=#FF0000]}] [clip path="clip1"] [data="M10.00,10.00 L440.00,10.00 L440.00,90.00 L10.00,90.00 Z"]
RenderSVGText {text} at (20,130) size 457x33 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-27) size 457x33
chunk 1 text run 1 at (20.00,130.00) startOffset 0 endOffset 31 width 457.00: "clipPathUnits=objectBoundingBox"
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (60,60) size 80x80 [fill={[type=SOLID] [color=#000000]}] [data="M60.00,60.00 L140.00,60.00 L140.00,140.00 L60.00,140.00 Z"]
RenderPath {rect} at (184.85,157.57) size 84.85x84.85 [transform={m=((0.71,-0.71)(0.71,0.71)) t=(100.00,200.00)}] [fill={[type=SOLID] [color=#0000FF]}] [clip path="clip2"] [data="M0.00,0.00 L120.00,0.00 L120.00,120.00 L0.00,120.00 Z"]
RenderSVGText {text} at (20,280) size 434x33 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-27) size 434x33
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
index 5892ea4..25828c8 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
@@ -5,6 +5,10 @@ layer at (0,0) size 480x360
RenderSVGRoot {svg} at (0.50,0.50) size 479x359
RenderSVGContainer {g} at (20,20) size 420x310
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGText {text} at (45,270) size 353x122 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (0,-101) size 353x122
+ chunk 1 text run 1 at (45.00,270.00) startOffset 0 endOffset 9 width 353.00: "Clip Test"
RenderSVGContainer {g} at (30,20) size 410x140
RenderSVGImage {image} at (30,20) size 410x140
RenderSVGText {text} at (55,130) size 353x122 contains 1 chunk(s)
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt
index 9f2b1ed..ef9bdb5 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt
@@ -8,10 +8,14 @@ layer at (0,0) size 480x360
RenderSVGText {text} at (150,20) size 164x16 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-13) size 164x16
chunk 1 text run 1 at (150.00,20.00) startOffset 0 endOffset 28 width 164.00: "Test for clip-rule property."
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (180,40) size 80x80 [fill={[type=SOLID] [color=#000000]}] [data="M200.00,40.00 L220.00,40.00 L220.00,100.00 L240.00,100.00 L240.00,80.00 L180.00,80.00 L180.00,60.00 L260.00,60.00 L260.00,120.00 L200.00,120.00 L200.00,40.00 Z"]
RenderPath {rect} at (180,40) size 80x80 [fill={[type=SOLID] [color=#FF0000]}] [clip path="clip1"] [data="M50.00,30.00 L400.00,30.00 L400.00,130.00 L50.00,130.00 Z"]
RenderSVGText {text} at (100,140) size 99x14 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-11) size 99x14
chunk 1 text run 1 at (100.00,140.00) startOffset 0 endOffset 17 width 99.00: "clip-rule=evenodd"
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (180,170) size 80x80 [fill={[type=SOLID] [color=#000000]}] [data="M200.00,170.00 L220.00,170.00 L220.00,230.00 L240.00,230.00 L240.00,210.00 L180.00,210.00 L180.00,190.00 L260.00,190.00 L260.00,250.00 L200.00,250.00 L200.00,170.00 Z"]
RenderPath {rect} at (180,170) size 80x80 [fill={[type=SOLID] [color=#0000FF]}] [clip path="clip2"] [data="M50.00,160.00 L400.00,160.00 L400.00,260.00 L50.00,260.00 Z"]
RenderSVGText {text} at (100,270) size 92x14 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-11) size 92x14
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
index 7c98394..49fd5d9 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
@@ -10,6 +10,10 @@ layer at (0,0) size 480x360
RenderSVGRoot {svg} at (-0.80,-0.80) size 480.30x360.30
RenderSVGContainer {g} at (-0.80,-0.80) size 448.80x272.80
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (0,0) size 2x2 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00 L2.00,0.00 L2.00,2.00 L0.00,2.00 Z"]
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (0,0) size 4x4 [fill={[type=SOLID] [color=#008000]}] [data="M0.00,0.00 L4.00,0.00 L4.00,4.00 L0.00,4.00 Z"]
RenderSVGText {text} at (125,30) size 184x16 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-13) size 184x16
chunk 1 text run 1 at (125.00,30.00) startOffset 0 endOffset 27 width 184.00: "Marker Rendering Properties"
diff --git a/LayoutTests/platform/mac/svg/batik/text/textEffect2-expected.txt b/LayoutTests/platform/mac/svg/batik/text/textEffect2-expected.txt
index 1c005d8..f0edeca 100644
--- a/LayoutTests/platform/mac/svg/batik/text/textEffect2-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/textEffect2-expected.txt
@@ -17,6 +17,14 @@ layer at (0,0) size 450x500
RenderSVGGradientStop {stop} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGText {text} at (100,200) size 152x59 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (0,-48) size 152x59
+ chunk 1 text run 1 at (100.00,200.00) startOffset 0 endOffset 5 width 152.00: "BATIK"
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGText {text} at (100,300) size 152x59 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (0,-48) size 152x59
+ chunk 1 text run 1 at (100.00,300.00) startOffset 0 endOffset 5 width 152.00: "BATIK"
RenderPath {rect} at (100,160) size 200x45 [fill={[type=LINEAR-GRADIENT] [stops=[(0.00,#FFD700), (0.50,#FFA500), (1.00,#DC143C)]] [start=(0,0)] [end=(1,0)]}] [clip path="clip"] [data="M100.00,160.00 L300.00,160.00 L300.00,205.00 L100.00,205.00 Z"]
RenderSVGText {text} at (300,200) size 65x14 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-11) size 65x14
diff --git a/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt b/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt
index e07ef4a..8bc77f6 100644
--- a/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt
+++ b/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt
@@ -132,6 +132,10 @@ layer at (0,0) size 450x500
RenderSVGInlineText {#text} at (0,-14) size 150x18
chunk 1 (middle anchor) text run 1 at (-74.50,25.00) startOffset 0 endOffset 21 width 149.00: "stroke=\"MidnightBlue\""
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGText {text} at (-42,0) size 84x36 contains 1 chunk(s)
+ RenderSVGInlineText {#text} at (0,-28) size 84x36
+ chunk 1 (middle anchor) text run 1 at (-42.00,0.00) startOffset 0 endOffset 6 width 84.00: "sample"
RenderSVGHiddenContainer {linearGradient} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/svg/css/clippath-with-shadow-expected.txt b/LayoutTests/platform/mac/svg/css/clippath-with-shadow-expected.txt
index 9205359..cde310b 100644
--- a/LayoutTests/platform/mac/svg/css/clippath-with-shadow-expected.txt
+++ b/LayoutTests/platform/mac/svg/css/clippath-with-shadow-expected.txt
@@ -5,4 +5,8 @@ layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 200x200
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
RenderPath {rect} at (0,0) size 200x200 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-200.00,0.00)}] [data="M200.00,0.00 L400.00,0.00 L400.00,200.00 L200.00,200.00 Z"]
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGContainer {use} at (0,0) size 200x200
+ RenderSVGContainer {g} at (0,0) size 200x200
+ RenderPath {rect} at (0,0) size 200x200 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-200.00,0.00)}] [data="M200.00,0.00 L400.00,0.00 L400.00,200.00 L200.00,200.00 Z"]
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#008000]}] [clip path="clip"] [data="M0.00,0.00 L400.00,0.00 L400.00,200.00 L0.00,200.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/clip-path-child-changes-expected.txt b/LayoutTests/platform/mac/svg/custom/clip-path-child-changes-expected.txt
index 54602fd..d313af5 100644
--- a/LayoutTests/platform/mac/svg/custom/clip-path-child-changes-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/clip-path-child-changes-expected.txt
@@ -4,6 +4,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 100x100
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (0,0) size 100x100 [transform={m=((0.50,0.00)(0.00,0.50)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="myclip"]
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/clip-path-display-none-child-expected.txt b/LayoutTests/platform/mac/svg/custom/clip-path-display-none-child-expected.txt
index c819e31..59fcbe3 100644
--- a/LayoutTests/platform/mac/svg/custom/clip-path-display-none-child-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/clip-path-display-none-child-expected.txt
@@ -4,6 +4,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 356x194
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} 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"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="c"]
RenderPath {rect} at (0,0) size 200x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,100.00 L0.00,100.00 Z"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/clip-path-href-changes-expected.txt b/LayoutTests/platform/mac/svg/custom/clip-path-href-changes-expected.txt
index 54602fd..d313af5 100644
--- a/LayoutTests/platform/mac/svg/custom/clip-path-href-changes-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/clip-path-href-changes-expected.txt
@@ -4,6 +4,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 100x100
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (0,0) size 100x100 [transform={m=((0.50,0.00)(0.00,0.50)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="myclip"]
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use-expected.txt b/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use-expected.txt
index 0b70deb..521ae84 100644
--- a/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use-expected.txt
@@ -5,6 +5,10 @@ layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 602x144
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderPath {rect} 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"]
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGContainer {use} at (0,0) size 100x100
+ RenderSVGContainer {g} at (0,0) size 100x100
+ RenderPath {rect} 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"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="clip"]
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use2-expected.txt b/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use2-expected.txt
index 5fdee4b..1334f90 100644
--- a/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use2-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/clip-path-referencing-use2-expected.txt
@@ -30,6 +30,11 @@ layer at (0,0) size 800x600
RenderSVGContainer {use} at (0,0) size 50x50
RenderSVGContainer {g} at (0,0) size 50x50
RenderPath {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGContainer {use} at (0,0) size 50x50
+ RenderSVGContainer {g} at (0,0) size 50x50
+ RenderSVGContainer {g} at (0,0) size 50x50
+ RenderPath {rect} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L50.00,0.00 L50.00,50.00 L0.00,50.00 Z"]
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"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="clip"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/clip-path-units-changes-expected.txt b/LayoutTests/platform/mac/svg/custom/clip-path-units-changes-expected.txt
index 54602fd..d313af5 100644
--- a/LayoutTests/platform/mac/svg/custom/clip-path-units-changes-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/clip-path-units-changes-expected.txt
@@ -4,6 +4,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 100x100
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (0,0) size 100x100 [transform={m=((0.50,0.00)(0.00,0.50)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="myclip"]
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/clip-path-with-transform-expected.txt b/LayoutTests/platform/mac/svg/custom/clip-path-with-transform-expected.txt
index 54602fd..d313af5 100644
--- a/LayoutTests/platform/mac/svg/custom/clip-path-with-transform-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/clip-path-with-transform-expected.txt
@@ -4,6 +4,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 100x100
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (0,0) size 100x100 [transform={m=((0.50,0.00)(0.00,0.50)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="myclip"]
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/empty-clip-path-expected.txt b/LayoutTests/platform/mac/svg/custom/empty-clip-path-expected.txt
index df859cc..2952a2d 100644
--- a/LayoutTests/platform/mac/svg/custom/empty-clip-path-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/empty-clip-path-expected.txt
@@ -5,6 +5,9 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 452x154
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [data=""]
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"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="nothing"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/focus-ring-expected.txt b/LayoutTests/platform/mac/svg/custom/focus-ring-expected.txt
index df2acfc..6096607 100644
--- a/LayoutTests/platform/mac/svg/custom/focus-ring-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/focus-ring-expected.txt
@@ -22,6 +22,8 @@ layer at (0,0) size 800x1000
RenderSVGText {text} at (0,0) size 76x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 76x18
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 12 width 76.00: "focused text"
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} 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"]
RenderSVGImage {image} at (0,0) size 0x0 [clip path="clip"]
RenderSVGImage {image} at (150,400) size 136.60x136.60 [transform={m=((0.87,0.50)(-0.50,0.87)) t=(200.00,400.00)}] [clip path="clip"]
RenderSVGContainer {g} at (310,400) size 136.60x136.60 [transform={m=((0.87,0.50)(-0.50,0.87)) t=(360.00,400.00)}]
diff --git a/LayoutTests/platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt b/LayoutTests/platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt
index ab7a241..b6dc747 100644
--- a/LayoutTests/platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt
@@ -5,6 +5,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,-16) size 542x145
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ 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"]
RenderSVGImage {image} at (0,-16) size 100x91 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-25.00)}] [clip path="myclip"] [filter=myfilter]
RenderSVGText {text} at (0,125) size 542x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-14) size 542x18
diff --git a/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt b/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt
index 4e7c5b4..33ff0d9 100644
--- a/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt
@@ -7,6 +7,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,-1.67) size 490x225
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {circle} at (20,30) size 20x20 [fill={[type=SOLID] [color=#000000]}] [data="M40.00,40.00 L39.98,40.63 L39.92,41.25 L39.82,41.87 L39.69,42.49 L39.51,43.09 L39.30,43.68 L39.05,44.26 L38.76,44.82 L38.44,45.36 L38.09,45.88 L37.71,46.37 L37.29,46.85 L36.85,47.29 L36.37,47.71 L35.88,48.09 L35.36,48.44 L34.82,48.76 L34.26,49.05 L33.68,49.30 L33.09,49.51 L32.49,49.69 L31.87,49.82 L31.25,49.92 L30.63,49.98 L30.00,50.00 L29.37,49.98 L28.75,49.92 L28.13,49.82 L27.51,49.69 L26.91,49.51 L26.32,49.30 L25.74,49.05 L25.18,48.76 L24.64,48.44 L24.12,48.09 L23.63,47.71 L23.15,47.29 L22.71,46.85 L22.29,46.37 L21.91,45.88 L21.56,45.36 L21.24,44.82 L20.95,44.26 L20.70,43.68 L20.49,43.09 L20.31,42.49 L20.18,41.87 L20.08,41.25 L20.02,40.63 L20.00,40.00 L20.02,39.37 L20.08,38.75 L20.18,38.13 L20.31,37.51 L20.49,36.91 L20.70,36.32 L20.95,35.74 L21.24,35.18 L21.56,34.64 L21.91,34.12 L22.29,33.63 L22.71,33.15 L23.15,32.71 L23.63,32.29 L24.12,31.91 L24.64,31.56 L25.18,31.24 L25.74,30.95 L26.32,30.70 L26.91,30.49 L27.51,30.31 L28.13,30.18 L28.75,30.08 L29.37,30.02 L30.00,30.00 L30.63,30.02 L31.25,30.08 L31.87,30.18 L32.49,30.31 L33.09,30.49 L33.68,30.70 L34.26,30.95 L34.82,31.24 L35.36,31.56 L35.88,31.91 L36.37,32.29 L36.85,32.71 L37.29,33.15 L37.71,33.63 L38.09,34.12 L38.44,34.64 L38.76,35.18 L39.05,35.74 L39.30,36.32 L39.51,36.91 L39.69,37.51 L39.82,38.13 L39.92,38.75 L39.98,39.37 Z"]
RenderSVGHiddenContainer {linearGradient} at (0,0) size 0x0
RenderSVGGradientStop {stop} at (0,0) size 0x0
RenderSVGViewportContainer {marker} at (0,0) size 3.33x3.33
diff --git a/LayoutTests/platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt b/LayoutTests/platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt
index b6471a3..adea83e 100644
--- a/LayoutTests/platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt
@@ -7,3 +7,5 @@ layer at (0,0) size 800x600
RenderSVGText {text} at (10,70) size 529x69 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-54) size 529x69
chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 19 width 529.00: "Clipped. INVISIBLE."
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (0,0) size 200x200 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/js-late-clipPath-creation-expected.txt b/LayoutTests/platform/mac/svg/custom/js-late-clipPath-creation-expected.txt
index b6471a3..adea83e 100644
--- a/LayoutTests/platform/mac/svg/custom/js-late-clipPath-creation-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/js-late-clipPath-creation-expected.txt
@@ -7,3 +7,5 @@ layer at (0,0) size 800x600
RenderSVGText {text} at (10,70) size 529x69 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-54) size 529x69
chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 19 width 529.00: "Clipped. INVISIBLE."
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (0,0) size 200x200 [fill={[type=SOLID] [color=#000000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
diff --git a/LayoutTests/platform/mac/svg/custom/recursive-clippath-expected.txt b/LayoutTests/platform/mac/svg/custom/recursive-clippath-expected.txt
index 5e5443c..1666500 100644
--- a/LayoutTests/platform/mac/svg/custom/recursive-clippath-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/recursive-clippath-expected.txt
@@ -3,5 +3,7 @@ layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 100x100
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} at (0,0) size 100x100 [clip path="clipPath_0"] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [clip path="clipPath_0"] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
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"]
diff --git a/LayoutTests/platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt b/LayoutTests/platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt
index 8421bd6..d544461 100644
--- a/LayoutTests/platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt
@@ -6,6 +6,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,10) size 120x350
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ 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"]
RenderSVGContainer {mask} at (0,0) size 1x1
RenderPath {circle} at (0,0) size 1x1 [fill={[type=SOLID] [color=#FFFFFF]}] [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"]
RenderSVGContainer {g} at (0,10) size 120x350
diff --git a/LayoutTests/platform/mac/svg/custom/text-clip-expected.txt b/LayoutTests/platform/mac/svg/custom/text-clip-expected.txt
index d040f4a..ef2365e 100644
--- a/LayoutTests/platform/mac/svg/custom/text-clip-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/text-clip-expected.txt
@@ -4,6 +4,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,76) size 133x63
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {path} at (200,200) size 100x200 [fill={[type=SOLID] [color=#000000]}] [data="M200.00,200.00 L300.00,200.00 L300.00,400.00 L200.00,400.00 Z"]
RenderSVGContainer {g} at (0,76) size 133x63
RenderSVGText {text} at (0,125) size 133x63 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,-49) size 133x63
diff --git a/LayoutTests/platform/mac/svg/custom/visibility-override-clip-expected.txt b/LayoutTests/platform/mac/svg/custom/visibility-override-clip-expected.txt
index 2da978d..bf88f4d 100644
--- a/LayoutTests/platform/mac/svg/custom/visibility-override-clip-expected.txt
+++ b/LayoutTests/platform/mac/svg/custom/visibility-override-clip-expected.txt
@@ -4,6 +4,8 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 100x100
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderPath {rect} 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"]
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"]
RenderSVGContainer {g} at (0,0) size 100x100 [clip path="myclip"]
RenderSVGContainer {g} at (0,0) size 200x200
diff --git a/LayoutTests/platform/mac/svg/filters/filter-clip-expected.txt b/LayoutTests/platform/mac/svg/filters/filter-clip-expected.txt
index 8e61414..ec69359 100644
--- a/LayoutTests/platform/mac/svg/filters/filter-clip-expected.txt
+++ b/LayoutTests/platform/mac/svg/filters/filter-clip-expected.txt
@@ -9,4 +9,6 @@ layer at (0,0) size 800x600
RenderSVGContainer {mask} at (0,0) size 140x140
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"]
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"]
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ 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"]
RenderPath {rect} at (20,20) size 100x100 [fill={[type=SOLID] [color=#008000]}] [clip path="clip"] [filter=blur] [data="M20.00,20.00 L120.00,20.00 L120.00,120.00 L20.00,120.00 Z"]
diff --git a/LayoutTests/svg/custom/use-clipped-transform-expected.txt b/LayoutTests/svg/custom/use-clipped-transform-expected.txt
index 9205359..cde310b 100644
--- a/LayoutTests/svg/custom/use-clipped-transform-expected.txt
+++ b/LayoutTests/svg/custom/use-clipped-transform-expected.txt
@@ -5,4 +5,8 @@ layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 200x200
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L200.00,0.00 L200.00,200.00 L0.00,200.00 Z"]
RenderPath {rect} at (0,0) size 200x200 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-200.00,0.00)}] [data="M200.00,0.00 L400.00,0.00 L400.00,200.00 L200.00,200.00 Z"]
+ RenderSVGHiddenContainer {clipPath} at (0,0) size 0x0
+ RenderSVGContainer {use} at (0,0) size 200x200
+ RenderSVGContainer {g} at (0,0) size 200x200
+ RenderPath {rect} at (0,0) size 200x200 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-200.00,0.00)}] [data="M200.00,0.00 L400.00,0.00 L400.00,200.00 L200.00,200.00 Z"]
RenderPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#008000]}] [clip path="clip"] [data="M0.00,0.00 L400.00,0.00 L400.00,200.00 L0.00,200.00 Z"]
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c91e70c..6a2cb52 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-01-13 Nikolas Zimmermann <nzimmermann at rim.com>
+
+ Reviewed by Oliver Hunt.
+
+ SVGClipPathElement shouldn't resolve style manually
+ https://bugs.webkit.org/show_bug.cgi?id=33647
+
+ Build renderers for SVGClipPathElement, so we can query the style from the renderer
+ instead of re-resolving style on every clip path resource invalidation.
+
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::createRenderer):
+ (WebCore::SVGClipPathElement::canvasResource):
+ * svg/SVGClipPathElement.h:
+ (WebCore::SVGClipPathElement::isValid):
+
2010-01-13 Kelly Norton <knorton at google.com>
Reviewed by Timothy Hatcher.
diff --git a/WebCore/svg/SVGClipPathElement.cpp b/WebCore/svg/SVGClipPathElement.cpp
index 6cf0219..78311d3 100644
--- a/WebCore/svg/SVGClipPathElement.cpp
+++ b/WebCore/svg/SVGClipPathElement.cpp
@@ -26,6 +26,7 @@
#include "CSSStyleSelector.h"
#include "Document.h"
#include "MappedAttribute.h"
+#include "RenderSVGHiddenContainer.h"
#include "SVGNames.h"
#include "SVGTransformList.h"
#include "SVGUnitTypes.h"
@@ -89,6 +90,11 @@ void SVGClipPathElement::childrenChanged(bool changedByParser, Node* beforeChang
m_clipper->invalidate();
}
+RenderObject* SVGClipPathElement::createRenderer(RenderArena* arena, RenderStyle*)
+{
+ return new (arena) RenderSVGHiddenContainer(this);
+}
+
SVGResource* SVGClipPathElement::canvasResource(const RenderObject*)
{
if (!m_clipper)
@@ -98,17 +104,17 @@ SVGResource* SVGClipPathElement::canvasResource(const RenderObject*)
bool bbox = clipPathUnits() == SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX;
- RefPtr<RenderStyle> clipPathStyle = styleForRenderer(); // FIXME: Manual style resolution is a hack
- for (Node* n = firstChild(); n; n = n->nextSibling()) {
- if (n->isSVGElement() && static_cast<SVGElement*>(n)->isStyledTransformable()) {
- SVGStyledTransformableElement* styled = static_cast<SVGStyledTransformableElement*>(n);
- RefPtr<RenderStyle> pathStyle = document()->styleSelector()->styleForElement(styled, clipPathStyle.get());
- if (pathStyle->display() != NONE) {
- Path pathData = styled->toClipPath();
- if (!pathData.isEmpty())
- m_clipper->addClipData(pathData, pathStyle->svgStyle()->clipRule(), bbox);
- }
- }
+ for (Node* node = firstChild(); node; node = node->nextSibling()) {
+ if (!node->isSVGElement() || !static_cast<SVGElement*>(node)->isStyledTransformable())
+ continue;
+ SVGStyledTransformableElement* styled = static_cast<SVGStyledTransformableElement*>(node);
+ RenderStyle* style = styled->renderer() ? styled->renderer()->style() : 0;
+ if (!style || style->display() == NONE)
+ continue;
+ Path pathData = styled->toClipPath();
+ if (pathData.isEmpty())
+ continue;
+ m_clipper->addClipData(pathData, style->svgStyle()->clipRule(), bbox);
}
if (m_clipper->clipData().isEmpty()) {
Path pathData;
diff --git a/WebCore/svg/SVGClipPathElement.h b/WebCore/svg/SVGClipPathElement.h
index f8d37da..ef6e629 100644
--- a/WebCore/svg/SVGClipPathElement.h
+++ b/WebCore/svg/SVGClipPathElement.h
@@ -40,12 +40,12 @@ namespace WebCore {
virtual ~SVGClipPathElement();
virtual bool isValid() const { return SVGTests::isValid(); }
- virtual bool rendererIsNeeded(RenderStyle*) { return false; }
virtual void parseMappedAttribute(MappedAttribute*);
virtual void svgAttributeChanged(const QualifiedName&);
virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual SVGResource* canvasResource(const RenderObject*);
private:
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list