Diff
Modified: trunk/LayoutTests/ChangeLog (168673 => 168674)
--- trunk/LayoutTests/ChangeLog 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/ChangeLog 2014-05-13 06:04:58 UTC (rev 168674)
@@ -1,3 +1,17 @@
+2014-05-12 Dirk Schulze <[email protected]>
+
+ SVG root element accepts background color but fails to repaint it
+ https://bugs.webkit.org/show_bug.cgi?id=63153
+
+ Reviewed by Dean Jackson.
+
+ Check that background color updates if the size of an outermost
+ root SVG element changes.
+
+ * svg/custom/svg-root-background-expected.png: Added.
+ * svg/custom/svg-root-background-expected.txt: Added.
+ * svg/custom/svg-root-background.html: Added.
+
2014-05-12 Jeffrey Pfau <[email protected]>
Unreviewed, fix mismatched test expectation.
Modified: trunk/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -14,5 +14,5 @@
RenderSVGRoot {svg} at (10,50) size 406x306
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGResourcePattern {pattern} [id="pattern"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
- RenderSVGImage {image} at (13,53) size 403x303
- RenderSVGRect {rect} at (13,53) size 400x300 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=0.00] [width=400.00] [height=300.00]
+ RenderSVGImage {image} at (10,50) size 406x306
+ RenderSVGRect {rect} at (10,50) size 406x306 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=0.00] [width=400.00] [height=300.00]
Added: trunk/LayoutTests/platform/mac/svg/animations/animate-viewport-overflow-2-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/mac/svg/animations/animate-viewport-overflow-2-expected.png
___________________________________________________________________
Added: svn:mime-type
Added: trunk/LayoutTests/platform/mac/svg/animations/animate-viewport-overflow-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/mac/svg/animations/animate-viewport-overflow-expected.png
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/LayoutTests/platform/mac/svg/custom/circle-move-invalidation-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/custom/circle-move-invalidation-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/custom/circle-move-invalidation-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -4,8 +4,8 @@
RenderBlock {html} at (0,0) size 800x356
RenderBody {body} at (8,8) size 784x340
RenderBlock (anonymous) at (0,0) size 784x306
- RenderSVGRoot {svg} at (195,195) size 78x78
- RenderSVGEllipse {circle} at (196,196) size 76x76 [fill={[type=SOLID] [color=#FF0000]}] [cx=300.00] [cy=300.00] [r=50.00]
+ RenderSVGRoot {svg} at (8,8) size 302x306
+ RenderSVGEllipse {circle} at (8,8) size 302x306 [fill={[type=SOLID] [color=#FF0000]}] [cx=300.00] [cy=300.00] [r=50.00]
RenderText {#text} at (302,288) size 4x18
text run at (302,288) width 4: " "
RenderBR {br} at (306,288) size 0x18
Modified: trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -3,9 +3,9 @@
layer at (0,0) size 800x410
RenderBlock {html} at (0,0) size 800x410
RenderBody {body} at (0,0) size 800x410
- RenderSVGRoot {svg} at (45,33) size 361x373
- RenderSVGContainer {g} at (303,303) size 100x100
- RenderSVGEllipse {circle} at (303,303) size 100x100 [fill={[type=SOLID] [color=#008000]}] [cx=350.00] [cy=350.00] [r=50.00]
+ RenderSVGRoot {svg} at (0,0) size 406x410
+ RenderSVGContainer {g} at (0,0) size 406x410
+ RenderSVGEllipse {circle} at (0,0) size 406x410 [fill={[type=SOLID] [color=#008000]}] [cx=350.00] [cy=350.00] [r=50.00]
RenderSVGText {text} at (48,36) size 304x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 303x18
chunk 1 (middle anchor) text run 1 at (48.50,50.00) startOffset 0 endOffset 49 width 303.00: "The circle should stay in the bottom-right corner"
Modified: trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-standalone-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-standalone-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-standalone-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -1,9 +1,9 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 406x406
- RenderSVGRoot {svg} at (45,33) size 361x373
- RenderSVGContainer {g} at (303,303) size 100x100
- RenderSVGEllipse {circle} at (303,303) size 100x100 [fill={[type=SOLID] [color=#008000]}] [cx=350.00] [cy=350.00] [r=50.00]
+ RenderSVGRoot {svg} at (0,0) size 406x406
+ RenderSVGContainer {g} at (0,0) size 406x406
+ RenderSVGEllipse {circle} at (0,0) size 406x406 [fill={[type=SOLID] [color=#008000]}] [cx=350.00] [cy=350.00] [r=50.00]
RenderSVGText {text} at (48,36) size 304x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 303x18
chunk 1 (middle anchor) text run 1 at (48.50,50.00) startOffset 0 endOffset 49 width 303.00: "The circle should stay in the bottom-right corner"
Modified: trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-root-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-root-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-root-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -3,8 +3,8 @@
layer at (0,0) size 800x410
RenderBlock {html} at (0,0) size 800x410
RenderBody {body} at (0,0) size 800x410
- RenderSVGRoot {svg} at (90,33) size 226x223
- RenderSVGEllipse {circle} at (150,150) size 100x100 [fill={[type=SOLID] [color=#008000]}] [cx=197.00] [cy=197.00] [r=50.00]
+ RenderSVGRoot {svg} at (0,0) size 406x410
+ RenderSVGEllipse {circle} at (0,0) size 406x410 [fill={[type=SOLID] [color=#008000]}] [cx=197.00] [cy=197.00] [r=50.00]
RenderSVGText {text} at (93,36) size 214x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 214x18
chunk 1 (middle anchor) text run 1 at (93.00,50.00) startOffset 0 endOffset 34 width 214.00: "The circle should be in the middle"
Modified: trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-root-standalone-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-root-standalone-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-root-standalone-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -1,8 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 406x406
- RenderSVGRoot {svg} at (90,33) size 226x223
- RenderSVGEllipse {circle} at (150,150) size 100x100 [fill={[type=SOLID] [color=#008000]}] [cx=197.00] [cy=197.00] [r=50.00]
+ RenderSVGRoot {svg} at (0,0) size 406x406
+ RenderSVGEllipse {circle} at (0,0) size 406x406 [fill={[type=SOLID] [color=#008000]}] [cx=197.00] [cy=197.00] [r=50.00]
RenderSVGText {text} at (93,36) size 214x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 214x18
chunk 1 (middle anchor) text run 1 at (93.00,50.00) startOffset 0 endOffset 34 width 214.00: "The circle should be in the middle"
Modified: trunk/LayoutTests/platform/mac/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/custom/pattern-userSpaceOnUse-userToBaseTransform-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -7,36 +7,36 @@
text run at (0,0) width 762: "There should be no red displayed on the screen, and the patterns should not change when the browser window is resized."
RenderBR {br} at (762,0) size 0x18
RenderBR {br} at (0,18) size 0x18
- RenderSVGRoot {svg} at (8,44) size 202x203
- RenderSVGContainer {g} at (9,45) size 200x200
- RenderSVGRect {rect} at (9,145) size 100x50 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=100.00] [width=100.00] [height=50.00]
- RenderSVGRect {rect} at (109,45) size 100x50 [fill={[type=SOLID] [color=#FF0000]}] [x=100.00] [y=0.00] [width=100.00] [height=50.00]
- RenderSVGRect {rect} at (9,145) size 100x100 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=100.00] [width=100.00] [height=100.00]
- RenderSVGRect {rect} at (109,45) size 100x100 [fill={[type=PATTERN] [id="pattern"]}] [x=100.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGRoot {svg} at (8,44) size 202x306
+ RenderSVGContainer {g} at (8,44) size 202x306
+ RenderSVGRect {rect} at (8,44) size 202x306 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=100.00] [width=100.00] [height=50.00]
+ RenderSVGRect {rect} at (8,44) size 202x306 [fill={[type=SOLID] [color=#FF0000]}] [x=100.00] [y=0.00] [width=100.00] [height=50.00]
+ RenderSVGRect {rect} at (8,44) size 202x306 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=100.00] [width=100.00] [height=100.00]
+ RenderSVGRect {rect} at (8,44) size 202x306 [fill={[type=PATTERN] [id="pattern"]}] [x=100.00] [y=0.00] [width=100.00] [height=100.00]
RenderText {#text} at (202,324) size 4x18
text run at (202,324) width 4: " "
- RenderSVGRoot {svg} at (214,44) size 202x287
+ RenderSVGRoot {svg} at (214,44) size 202x306
RenderSVGText {text} at (5,266) size 81x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 81x18
chunk 1 text run 1 at (5.00,280.00) startOffset 0 endOffset 11 width 81.00: "+Transforms"
- RenderSVGContainer {g} at (215,145) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,100.00)}]
- RenderSVGRect {rect} at (215,145) size 100x50 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
- RenderSVGRect {rect} at (215,145) size 100x100 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
- RenderSVGContainer {g} at (315,45) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
- RenderSVGRect {rect} at (315,45) size 100x50 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
- RenderSVGRect {rect} at (315,45) size 100x100 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGContainer {g} at (214,44) size 202x306 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,100.00)}]
+ RenderSVGRect {rect} at (214,44) size 202x306 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
+ RenderSVGRect {rect} at (214,44) size 202x306 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGContainer {g} at (214,44) size 202x306 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+ RenderSVGRect {rect} at (214,44) size 202x306 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
+ RenderSVGRect {rect} at (214,44) size 202x306 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGResourcePattern {pattern} [id="pattern"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
- RenderSVGRect {rect} at (215,45) size 100x25 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=25.00]
- RenderSVGRect {rect} at (215,70) size 100x25 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=25.00] [width=100.00] [height=25.00]
+ RenderSVGRect {rect} at (214,44) size 202x306 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=25.00]
+ RenderSVGRect {rect} at (214,44) size 202x306 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=25.00] [width=100.00] [height=25.00]
RenderText {#text} at (408,324) size 4x18
text run at (408,324) width 4: " "
RenderText {#text} at (0,0) size 0x0
layer at (420,44) size 202x302
- RenderSVGRoot {svg} at (420,44) size 202x287
+ RenderSVGRoot {svg} at (420,44) size 202x306
RenderSVGText {text} at (5,266) size 169x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 169x18
chunk 1 text run 1 at (5.00,280.00) startOffset 0 endOffset 24 width 169.00: "+Accelerated Compositing"
- RenderSVGContainer {g} at (421,45) size 200x200
- RenderSVGRect {rect} at (421,145) size 100x100 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=100.00] [width=100.00] [height=100.00]
- RenderSVGRect {rect} at (521,45) size 100x100 [fill={[type=PATTERN] [id="pattern"]}] [x=100.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGContainer {g} at (420,44) size 202x306
+ RenderSVGRect {rect} at (420,44) size 202x306 [fill={[type=PATTERN] [id="pattern"]}] [x=0.00] [y=100.00] [width=100.00] [height=100.00]
+ RenderSVGRect {rect} at (420,44) size 202x306 [fill={[type=PATTERN] [id="pattern"]}] [x=100.00] [y=0.00] [width=100.00] [height=100.00]
Modified: trunk/LayoutTests/platform/mac/svg/custom/svg-float-border-padding-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/custom/svg-float-border-padding-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/custom/svg-float-border-padding-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -11,7 +11,7 @@
RenderText {#text} at (0,0) size 354x18
text run at (0,0) width 354: "There should be a red, white and blue pattern below this"
RenderSVGRoot {svg} at (18,86) size 140x140
- RenderSVGRect {rect} at (38,106) size 100x100 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGRect {rect} at (18,86) size 140x140 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
RenderBlock {p} at (0,228) size 784x18
RenderText {#text} at (0,0) size 353x18
text run at (0,0) width 353: "There should be a red, white and blue pattern above this"
Modified: trunk/LayoutTests/platform/mac/svg/hixie/mixed/010-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/hixie/mixed/010-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/hixie/mixed/010-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -7,7 +7,7 @@
RenderText {#text} at (0,0) size 238x18
text run at (0,0) width 238: "There should be a green block below."
RenderBlock (anonymous) at (0,34) size 784x104
- RenderSVGRoot {svg} at (8,50) size 300x100
- RenderSVGRect {rect} at (8,50) size 300x100 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=300.00] [height=100.00]
- RenderSVGRect {rect} at (8,50) size 300x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=300.00] [height=100.00]
+ RenderSVGRoot {svg} at (8,50) size 300x104
+ RenderSVGRect {rect} at (8,50) size 300x104 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=300.00] [height=100.00]
+ RenderSVGRect {rect} at (8,50) size 300x104 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=300.00] [height=100.00]
RenderText {#text} at (0,0) size 0x0
Modified: trunk/LayoutTests/platform/mac/svg/text/small-fonts-in-html5-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/text/small-fonts-in-html5-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/text/small-fonts-in-html5-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -7,8 +7,8 @@
RenderText {#text} at (0,0) size 471x37
text run at (0,0) width 471: "Small fonts in HTML5/inline SVG"
RenderBlock (anonymous) at (0,58) size 784x507
- RenderSVGRoot {svg} at (157,259) size 104x31
- RenderSVGContainer {g} at (159,261) size 100x27 [transform={m=((400.00,0.00)(0.00,400.00)) t=(0.00,0.00)}]
+ RenderSVGRoot {svg} at (8,79) size 502x507
+ RenderSVGContainer {g} at (8,79) size 502x507 [transform={m=((400.00,0.00)(0.00,400.00)) t=(0.00,0.00)}]
RenderSVGText {text} at (0,0) size 1x1 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 1x1
chunk 1 (middle anchor) text run 1 at (0.38,0.50) startOffset 0 endOffset 12 width 0.25: "Test passed."
Modified: trunk/LayoutTests/platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt (168673 => 168674)
--- trunk/LayoutTests/platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -12,7 +12,7 @@
RenderText {#text} at (0,0) size 524x26
text run at (0,0) width 524: "There should be a red, white and blue pattern below this"
RenderSVGRoot {svg} at (18,142) size 140x141
- RenderSVGRect {rect} at (38,162) size 100x101 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGRect {rect} at (18,142) size 140x141 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
RenderBlock {p} at (0,284) size 769x27
RenderText {#text} at (0,0) size 523x26
text run at (0,0) width 523: "There should be a red, white and blue pattern above this"
Modified: trunk/LayoutTests/svg/animations/animate-viewport-overflow-2-expected.txt (168673 => 168674)
--- trunk/LayoutTests/svg/animations/animate-viewport-overflow-2-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/svg/animations/animate-viewport-overflow-2-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -5,6 +5,6 @@
RenderBlock {HTML} at (0,0) size 800x116
RenderBody {BODY} at (8,8) size 784x100
RenderBlock {DIV} at (0,0) size 100x100
- RenderSVGRoot {svg} at (8,208) size 100x100
- RenderSVGRect {rect} at (8,208) size 100x100 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=200.00] [width=100.00] [height=100.00]
+ RenderSVGRoot {svg} at (8,8) size 100x300
+ RenderSVGRect {rect} at (8,8) size 100x300 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=200.00] [width=100.00] [height=100.00]
RenderText {#text} at (0,0) size 0x0
Modified: trunk/LayoutTests/svg/animations/animate-viewport-overflow-expected.txt (168673 => 168674)
--- trunk/LayoutTests/svg/animations/animate-viewport-overflow-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/svg/animations/animate-viewport-overflow-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -5,7 +5,7 @@
RenderBlock {HTML} at (0,0) size 800x216
RenderBody {BODY} at (8,8) size 784x200
RenderBlock {DIV} at (0,0) size 100x100
- RenderSVGRoot {svg} at (8,208) size 100x100
- RenderSVGRect {rect} at (8,208) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=200.00] [width=100.00] [height=100.00]
+ RenderSVGRoot {svg} at (8,8) size 100x300
+ RenderSVGRect {rect} at (8,8) size 100x300 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=200.00] [width=100.00] [height=100.00]
RenderText {#text} at (0,0) size 0x0
RenderBlock {DIV} at (0,100) size 100x100
Modified: trunk/LayoutTests/svg/custom/gradient-stroke-width-expected.txt (168673 => 168674)
--- trunk/LayoutTests/svg/custom/gradient-stroke-width-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/svg/custom/gradient-stroke-width-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -1,7 +1,7 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 200x500
- RenderSVGRoot {svg} at (32,32) size 123x123
+ RenderSVGRoot {svg} at (0,0) size 200x500
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGResourceLinearGradient {linearGradient} [id="black2white"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
@@ -11,5 +11,5 @@
RenderSVGGradientStop {stop} [offset=1.00] [color=#BD1F1845]
RenderSVGResourceRadialGradient {radialGradient} [id="red-radial-grad"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50] [focalRadius=0.00]
RenderSVGResourceLinearGradient {linearGradient} [id="border-grad"] [gradientUnits=objectBoundingBox] [start=(0.05,0.95)] [end=(0.95,0.05)]
- RenderSVGEllipse {circle} at (45,45) size 110x110 [stroke={[type=LINEAR-GRADIENT] [id="border-grad"] [stroke width=10.00]}] [fill={[type=RADIAL-GRADIENT] [id="red-radial-grad"]}] [cx=100.00] [cy=100.00] [r=50.00]
- RenderSVGEllipse {circle} at (32,32) size 30x30 [stroke={[type=LINEAR-GRADIENT] [id="border-grad"] [stroke width=10.00]}] [fill={[type=RADIAL-GRADIENT] [id="red-radial-grad"]}] [cx=47.00] [cy=47.00] [r=10.00]
+ RenderSVGEllipse {circle} at (0,0) size 200x500 [stroke={[type=LINEAR-GRADIENT] [id="border-grad"] [stroke width=10.00]}] [fill={[type=RADIAL-GRADIENT] [id="red-radial-grad"]}] [cx=100.00] [cy=100.00] [r=50.00]
+ RenderSVGEllipse {circle} at (0,0) size 200x500 [stroke={[type=LINEAR-GRADIENT] [id="border-grad"] [stroke width=10.00]}] [fill={[type=RADIAL-GRADIENT] [id="red-radial-grad"]}] [cx=47.00] [cy=47.00] [r=10.00]
Modified: trunk/LayoutTests/svg/custom/repaint-moving-svg-and-div-expected.txt (168673 => 168674)
--- trunk/LayoutTests/svg/custom/repaint-moving-svg-and-div-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/svg/custom/repaint-moving-svg-and-div-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -5,7 +5,7 @@
RenderBody {body} at (8,8) size 784x0
layer at (250,350) size 150x150
RenderSVGRoot {svg} at (250,350) size 150x150
- RenderSVGRect {rect} at (275,375) size 100x100 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGRect {rect} at (250,350) size 150x150 [fill={[type=SOLID] [color=#00FF00]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
layer at (550,350) size 150x150
RenderBlock (positioned) {div} at (550,350) size 150x150 [border: (5px solid #FF0000) (20px solid #FFFF00) (10px solid #008000) (15px solid #0000FF)]
RenderBlock {div} at (25,25) size 100x100 [bgcolor=#00FF00]
Added: trunk/LayoutTests/svg/custom/svg-root-background-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/svg/custom/svg-root-background-expected.png
___________________________________________________________________
Added: svn:mime-type
Added: trunk/LayoutTests/svg/custom/svg-root-background-expected.txt (0 => 168674)
--- trunk/LayoutTests/svg/custom/svg-root-background-expected.txt (rev 0)
+++ trunk/LayoutTests/svg/custom/svg-root-background-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -0,0 +1,7 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+layer at (8,8) size 200x200
+ RenderSVGRoot {svg} at (8,8) size 200x200
Added: trunk/LayoutTests/svg/custom/svg-root-background.html (0 => 168674)
--- trunk/LayoutTests/svg/custom/svg-root-background.html (rev 0)
+++ trunk/LayoutTests/svg/custom/svg-root-background.html 2014-05-13 06:04:58 UTC (rev 168674)
@@ -0,0 +1,22 @@
+<html>
+<head>
+<script>
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ function runTest() {
+ // This tests that changing the size of the outermost SVG updates the background of the SVG.
+ document.getElementById('svg').setAttribute('height','200');
+
+ if (window.testRunner)
+ testRunner.notifyDone();
+ }
+
+ window.addEventListener('load', function() {
+ setTimeout(runTest, 0);
+ }, false);
+</script>
+<body>
+<svg width="200" height="0" style="background-color: green; position: absolute;" id="svg"></svg>
+</body>
+</html>
\ No newline at end of file
Modified: trunk/LayoutTests/svg/custom/viewport-update2-expected.txt (168673 => 168674)
--- trunk/LayoutTests/svg/custom/viewport-update2-expected.txt 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/LayoutTests/svg/custom/viewport-update2-expected.txt 2014-05-13 06:04:58 UTC (rev 168674)
@@ -3,4 +3,4 @@
layer at (0,0) size 110x110
RenderSVGRoot {svg} at (0,0) size 110x110
RenderSVGRect {rect} at (0,0) size 110x110 [fill={[type=SOLID] [color=#FF0000]}] [x=-100.00] [y=-100.00] [width=300.00] [height=300.00]
- RenderSVGRect {rect} at (5,5) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+ RenderSVGRect {rect} at (0,0) size 110x110 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
Modified: trunk/Source/WebCore/ChangeLog (168673 => 168674)
--- trunk/Source/WebCore/ChangeLog 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/Source/WebCore/ChangeLog 2014-05-13 06:04:58 UTC (rev 168674)
@@ -1,3 +1,29 @@
+2014-05-12 Dirk Schulze <[email protected]>
+
+ SVG root element accepts background color but fails to repaint it
+ https://bugs.webkit.org/show_bug.cgi?id=63153
+
+ Reviewed by Dean Jackson.
+
+ This is back ported from Blink. Don't know the exact commit though.
+ The patch checks if the SVGSVGElement is an outermost root element.
+ If it is, mark the whole element for repaint.
+
+ Test: svg/custom/svg-root-background.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::calculateHasBoxDecorations):
+ (WebCore::RenderBoxModelObject::updateFromStyle):
+ * rendering/RenderBoxModelObject.h:
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::RenderSVGRoot):
+ (WebCore::RenderSVGRoot::layout):
+ (WebCore::RenderSVGRoot::paintReplaced):
+ (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
+ This is a simple optimization by taking the necessary parts
+ from RenderReplaced and SVGRenderSupport.
+ * rendering/svg/RenderSVGRoot.h:
+
2014-05-12 Simon Fraser <[email protected]>
[iOS] Fixed items are sometimes clipped after rubber-banding
Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (168673 => 168674)
--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp 2014-05-13 06:04:58 UTC (rev 168674)
@@ -190,6 +190,11 @@
RenderLayerModelObject::willBeDestroyed();
}
+bool RenderBoxModelObject::hasBoxDecorationStyle() const
+{
+ return hasBackground() || style().hasBorder() || style().hasAppearance() || style().boxShadow();
+}
+
void RenderBoxModelObject::updateFromStyle()
{
RenderLayerModelObject::updateFromStyle();
@@ -197,7 +202,7 @@
// Set the appropriate bits for a box model object. Since all bits are cleared in styleWillChange,
// we only check for bits that could possibly be set to true.
const RenderStyle& styleToUse = style();
- setHasBoxDecorations(hasBackground() || styleToUse.hasBorder() || styleToUse.hasAppearance() || styleToUse.boxShadow());
+ setHasBoxDecorations(hasBoxDecorationStyle());
setInline(styleToUse.isDisplayInlineType());
setPositionState(styleToUse.position());
setHorizontalWritingMode(styleToUse.isHorizontalWritingMode());
Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.h (168673 => 168674)
--- trunk/Source/WebCore/rendering/RenderBoxModelObject.h 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.h 2014-05-13 06:04:58 UTC (rev 168674)
@@ -250,6 +250,7 @@
LayoutPoint adjustedPositionRelativeToOffsetParent(const LayoutPoint&) const;
+ bool hasBoxDecorationStyle() const;
void calculateBackgroundImageGeometry(const RenderLayerModelObject* paintContainer, const FillLayer*, const LayoutRect& paintRect, BackgroundImageGeometry&, RenderElement* = 0) const;
bool borderObscuresBackgroundEdge(const FloatSize& contextScale) const;
bool borderObscuresBackground() const;
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp (168673 => 168674)
--- trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp 2014-05-13 06:04:58 UTC (rev 168674)
@@ -32,6 +32,7 @@
#include "LayoutRepainter.h"
#include "Page.h"
#include "RenderIterator.h"
+#include "RenderLayer.h"
#include "RenderNamedFlowFragment.h"
#include "RenderSVGResource.h"
#include "RenderSVGResourceContainer.h"
@@ -58,6 +59,7 @@
, m_isLayoutSizeChanged(false)
, m_needsBoundariesOrTransformUpdate(true)
, m_hasSVGShadow(false)
+ , m_hasBoxDecorations(false)
{
}
@@ -203,6 +205,8 @@
}
updateLayerTransform();
+ m_hasBoxDecorations = isRoot() ? hasBoxDecorationStyle() : hasBoxDecorations();
+ invalidateBackgroundObscurationStatus();
repainter.repaintAfterLayout();
@@ -358,6 +362,13 @@
if (shouldApplyViewportClip())
repaintRect.intersect(pixelSnappedBorderBoxRect());
+ if (m_hasBoxDecorations || hasRenderOverflow()) {
+ // The selectionRect can project outside of the overflowRect, so take their union
+ // for repainting to avoid selection painting glitches.
+ LayoutRect decoratedRepaintRect = unionRect(localSelectionRect(false), visualOverflowRect());
+ repaintRect.unite(decoratedRepaintRect);
+ }
+
LayoutRect rect = enclosingIntRect(repaintRect);
RenderReplaced::computeRectForRepaint(repaintContainer, rect, fixed);
repaintRect = rect;
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h (168673 => 168674)
--- trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h 2014-05-13 05:00:21 UTC (rev 168673)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h 2014-05-13 06:04:58 UTC (rev 168674)
@@ -119,6 +119,7 @@
bool m_isLayoutSizeChanged : 1;
bool m_needsBoundariesOrTransformUpdate : 1;
bool m_hasSVGShadow : 1;
+ bool m_hasBoxDecorations : 1;
};
RENDER_OBJECT_TYPE_CASTS(RenderSVGRoot, isSVGRoot())