Title: [107005] trunk
Revision
107005
Author
le...@chromium.org
Date
2012-02-07 16:14:42 -0800 (Tue, 07 Feb 2012)

Log Message

[SVG] Use element disappears after scripted change
https://bugs.webkit.org/show_bug.cgi?id=74392

Reviewed by Eric Seidel.

Source/WebCore:

Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
SVGUseElements to not update the shadow root's style, and therefor not render
correctly.

Test: svg/custom/use-disappears-after-style-update.svg

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::didRecalcStyle):

LayoutTests:

* platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.png: Added.
* platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.txt: Added.
* svg/custom/use-disappears-after-style-update.svg: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (107004 => 107005)


--- trunk/LayoutTests/ChangeLog	2012-02-08 00:00:18 UTC (rev 107004)
+++ trunk/LayoutTests/ChangeLog	2012-02-08 00:14:42 UTC (rev 107005)
@@ -1,5 +1,16 @@
 2012-02-07  Levi Weintraub  <le...@chromium.org>
 
+        [SVG] Use element disappears after scripted change
+        https://bugs.webkit.org/show_bug.cgi?id=74392
+
+        Reviewed by Eric Seidel.
+
+        * platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.png: Added.
+        * platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.txt: Added.
+        * svg/custom/use-disappears-after-style-update.svg: Added.
+
+2012-02-07  Levi Weintraub  <le...@chromium.org>
+
         unicode-bidi:plaintext is supposed to be effective on display:inline elements too
         https://bugs.webkit.org/show_bug.cgi?id=73310
 

Added: trunk/LayoutTests/platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.png (0 => 107005)


--- trunk/LayoutTests/platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.png	                        (rev 0)
+++ trunk/LayoutTests/platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.png	2012-02-08 00:14:42 UTC (rev 107005)
@@ -0,0 +1,78 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksum1d1d349081904a94f21b0a92c10a6c7e@Ro IDATx\xED\xDDA
+\xC20\x84Q#\xDE[<y,\x9E \x8B\xF2\xE3\xAF\xEBb\x867\xD9]\xB8\xF6\xF5<< @\x80x\x9C\xE1 @\x80\xFC\x81 @\x80\x811d\x8C\xDAA @\x80 \xEE @\x80c\xC8\xB5\x83 @\x800@\xDC @\x80\xC6\x901j @\x80 `\x80\xB8 @\x80\x8C	 c\xD4"@\x80 @\xE0uJ\xB0>\xEB\xF4\xD5[\xDF\xDB\xEF\xB3?j\xFF\xF7|\xB7\xA2\xF81 @\x80Q_@\xA2ʼnM\x80 @\xA0(`\x80[\x93\x99 @\x80@T\xC0\x89'6 @\x80\x81\xA2\x80RlMf @\x80Q$Z\x9C\xD8 @\x80\x8AH\xB15\x99	 @\x80D\x90hqb @\x80(
+ \xC5\xD6d&@\x80 0@\xA2ʼnM\x80 @\xA0(`\x80[\x93\x99 @\x80@T\xC0\x89'6 @\x80\x81\xA2\x80RlMf @\x80Q$Z\x9C\xD8 @\x80\x8AH\xB15\x99	 @\x80D\x90hqb @\x80(
+ \xC5\xD6d&@\x80 0@\xA2ʼnM\x80 @\xA0(`\x80[\x93\x99 @\x80@T\xC0\x89'6 @\x80\x81\xA2\x80RlMf @\x80Q$Z\x9C\xD8 @\x80\x8AH\xB15\x99	 @\x80D\x90hqb @\x80(
+ \xC5\xD6d&@\x80 0@\xA2ʼnM\x80 @\xA0(`\x80[\x93\x99 @\x80@T\xC0\x89'6 @\x80\x81\xA2\x80RlMf @\x80Q$Z\x9C\xD8 @\x80\x8Ak_O1\xB8\xCC @\x80\xF4|\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4&3\x95`ZIDAT @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +`\x80d\xAB\x9C @\x80@O\xC0\xE9u&1 @\x80\x81\xAC\x80\x92\xADNp @\x80=\xA4י\xC4 @\x80\xB2H\xB6:\xC1	 @\x80\xF4\x90^g @\x80\xC8
+ \xD9\xEA'@\x80 \xD00@z\x9DIL\x80 @ +\xF0\xA8\xA0\xA9k\xE5\xE1\xC8IEND\xAEB`\x82
\ No newline at end of file

Added: trunk/LayoutTests/platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.txt (0 => 107005)


--- trunk/LayoutTests/platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac-snowleopard/svg/custom/use-disappears-after-style-update-expected.txt	2012-02-08 00:14:42 UTC (rev 107005)
@@ -0,0 +1,17 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 300x400
+  RenderSVGRoot {svg} at (10,10) size 76x36
+    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+      RenderSVGResourceFilter {filter} [id="simple"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
+        [feOffset dx="0.00" dy="0.00"]
+          [SourceGraphic]
+      RenderSVGRect {rect} at (0,10) size 30x30 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=10.00] [width=30.00] [height=30.00]
+    RenderSVGContainer {g} at (10,10) size 76x36
+      RenderSVGContainer {use} at (10,10) size 30x30
+        RenderSVGContainer {g} at (10,10) size 30x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,0.00)}]
+          RenderSVGRect {rect} at (10,10) size 30x30 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=10.00] [width=30.00] [height=30.00]
+      RenderSVGContainer {use} at (50,10) size 36x36
+        [filter="simple"] RenderSVGResourceFilter {filter} at (50,10) size 36x36
+        RenderSVGContainer {g} at (50,10) size 30x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+          RenderSVGRect {rect} at (50,10) size 30x30 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=10.00] [width=30.00] [height=30.00]

Added: trunk/LayoutTests/svg/custom/use-disappears-after-style-update.svg (0 => 107005)


--- trunk/LayoutTests/svg/custom/use-disappears-after-style-update.svg	                        (rev 0)
+++ trunk/LayoutTests/svg/custom/use-disappears-after-style-update.svg	2012-02-08 00:14:42 UTC (rev 107005)
@@ -0,0 +1,53 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+  style="width:300px;height:400px">
+
+<!-- This tests filters failing to refresh after the initial rendering
+(https://bugs.webkit.org/show_bug.cgi?id=53088).
+There should be two green squares in the output. -->
+
+<defs>
+<filter id="simple" x="0" y="0">
+  <feOffset in="SourceGraphic" dx="0" dy="0" />
+</filter>
+
+<rect id="rect" width="30" y="10" height="30" fill="red" />
+
+</defs>
+
+<g>
+
+<use xlink:href="" x="10" />
+
+<use filter="url(#simple)" xlink:href="" x="50" />
+
+</g>
+
+<script><![CDATA[
+    var elements = ['rect'];
+    for (var i=0; i<elements.length; ++i) {
+      elements[i] = document.getElementById(elements[i]);
+    }
+    setTimeout(wait, 0);
+    
+    function wait() {
+      // Single timeout doesn't seem to wait for the initial painting, wait again.
+      setTimeout(change, 0);
+    }
+
+    function change() {
+      for (var i=0; i<elements.length; ++i) {
+        elements[i].setAttribute('fill', 'green');
+      }
+
+      if (window.layoutTestController) {
+          // Let it repaint and get screenshot.
+          setTimeout("layoutTestController.notifyDone()", 0);
+      }
+    }
+
+    if (window.layoutTestController) {
+        layoutTestController.waitUntilDone();
+    }
+]]></script>
+
+</svg>

Modified: trunk/Source/WebCore/ChangeLog (107004 => 107005)


--- trunk/Source/WebCore/ChangeLog	2012-02-08 00:00:18 UTC (rev 107004)
+++ trunk/Source/WebCore/ChangeLog	2012-02-08 00:14:42 UTC (rev 107005)
@@ -1,3 +1,19 @@
+2012-02-07  Levi Weintraub  <le...@chromium.org>
+
+        [SVG] Use element disappears after scripted change
+        https://bugs.webkit.org/show_bug.cgi?id=74392
+
+        Reviewed by Eric Seidel.
+
+        Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
+        SVGUseElements to not update the shadow root's style, and therefor not render
+        correctly.
+
+        Test: svg/custom/use-disappears-after-style-update.svg
+
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::didRecalcStyle):
+
 2012-02-07  Kentaro Hara  <hara...@chromium.org>
 
         Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute

Modified: trunk/Source/WebCore/svg/SVGUseElement.cpp (107004 => 107005)


--- trunk/Source/WebCore/svg/SVGUseElement.cpp	2012-02-08 00:00:18 UTC (rev 107004)
+++ trunk/Source/WebCore/svg/SVGUseElement.cpp	2012-02-08 00:14:42 UTC (rev 107005)
@@ -358,17 +358,12 @@
     if (!shadowRoot)
         return;
     
-    bool needsStyleUpdate = !m_needsShadowTreeRecreation;
     if (m_needsShadowTreeRecreation) {
         shadowRoot->markShadowTreeForRecreation();
         m_needsShadowTreeRecreation = false;
     }
 
     shadowRoot->updateFromElement();
-
-    if (!needsStyleUpdate)
-        return;
-
     shadowRoot->updateStyle(change);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to