Diff
Modified: trunk/LayoutTests/ChangeLog (95046 => 95047)
--- trunk/LayoutTests/ChangeLog 2011-09-13 21:50:01 UTC (rev 95046)
+++ trunk/LayoutTests/ChangeLog 2011-09-13 21:54:02 UTC (rev 95047)
@@ -1,3 +1,18 @@
+2011-09-13 Tim Horton <timothy_hor...@apple.com>
+
+ REGRESSION (64275): Shape pattern-image fill turns black
+ https://bugs.webkit.org/show_bug.cgi?id=51061
+ <rdar://problem/8504705>
+
+ Reviewed by Simon Fraser.
+
+ Add a test ensuring that replacing a SVG pattern without changing
+ the id causes the clients to be updated properly.
+
+ * svg/custom/pending-resource-after-removal-expected.png: Added.
+ * svg/custom/pending-resource-after-removal-expected.txt: Added.
+ * svg/custom/pending-resource-after-removal.xhtml: Added.
+
2011-09-13 Cary Clark <carycl...@google.com>
Unreviewed; new baselines (Skia on Mac)
Added: trunk/LayoutTests/svg/custom/pending-resource-after-removal-expected.png (0 => 95047)
--- trunk/LayoutTests/svg/custom/pending-resource-after-removal-expected.png (rev 0)
+++ trunk/LayoutTests/svg/custom/pending-resource-after-removal-expected.png 2011-09-13 21:54:02 UTC (rev 95047)
@@ -0,0 +1,61 @@
+\x89PNG
+
+
+IHDR X \x9Av\x82p )tEXtchecksum 3aa16a092fe25416b039cd3ea92f1ead7ۗ^ iCCPICC Profile x\x85T\xDFk\xD3P\xFE\xDAe\x9D\xB0\xE1\x8B:g >h\x91ndStC\x9C\xB6kW\xBA\xCDZ\xEA6\xB7!H\x9B\xA6m\\x9A\xC6$\xED~\xB0ًo:\xC5w\xF1>\xF9كo{\x92
+\xC6a\xF8\xAC\x88"L\xF6"\xB3\x9E\x9B4M'S\xB9\xF7\xBB\xDF\xF9\xEE9'\xE7\xE4^\xA0\xF9qZ\xD3/USO\xC5\xC2\xFC\xC4\xE4\xDF\xF2^C+\xFChM\x8B\x86J&G@Ӳy\xEF\xB3\xF3\xC6lt\xEEo߫\xFEc՚\x95\xF0 \xBE\x945\xC4"\xE1Y\xA0i\\xD4t\xE0։\xEF\x9D15\xC2\xCDLsX\xA7 g8oc\x81ግ#\x96f45@\x9A \xC2\xC5B:K\xB8@8\x98i\xE0\xF3
+\xD8\xE4'&\xA9\x92.\x8B<\xABER/\xE5dE\xB2\xF6\xF0s\x83\xF2_\xB0\xA8\x94雭\xE7\x8Dm\x9AN\xD1|\x8A\xDE9}p\x8C\xE6 \xD5\xC1?_\xBDA\xB8\x9DpX6\xE3\xA35~B\xCD$\xAE&\xBD\xE7\xEEti\x98\xEDe\x9A\x97Y)%$\xBCbT\xAE3li\xE6\x89\x9A\xE6\xD3\xED\xF4P\x92\xB0\x9F4\xBF43Y\xF3\xE3\xEDP\x95\xEB1\xC5\xF5\xF6KF\xF4\xBA\xBD\xD7ۑ\x93\xE35>\xA7)\xD6@\xFE\xBD\xF7\xF5r\x8A\xE5y\x92\xF0\xEB\xB4\x8D\xD5\xF4[\x92:V\xDB\xDB\xE4ͦ#\xC3\xC4wQ?HB\x82\x8Ed(\xE0\x91Ba\x9AcĪ\xF8L"J\xA4\xD2itTy\xB28\xD6;(\x93\x96\xEDGx\xC9_\xB8^\xF5[\xB2\xB8\xF6\xE0\xFB\x9E\xDD%\xBC\x85ŷ\xA3\xD8Q\x{DD41}麲\x9Aua\xA5\xA3n\xE17\xB9\xE5\x9Bm\xABQ\xFE\x8A\xE5\xB1H^e\xCAO\x82Q\xD7u6\xE6\x90S\x97\xFCu\xCF2\x94\xEE%vX\xBA\xAC\xF0^\xF8*l
+O\x85\xBF\xD4\xC8\xCEޭˀq,>\xAB\x9ES\xCD\xC6\xEC%\xD2L\xD2\xEBd\xB8\xBF\x8A\xF5B\xC6\xF9\x901CZ\x9D\xBE$M\x9C\x8A9\xF2\xDAP'w\x82\xEB\xE6\xE2\/\xD7\x9E\xBB\xCC]\xE1\xFA\xB9\xAD.r#\x8E\xC2\xF5E|!\xF0\xBE3\xBE>_\xB7o\x88a\xA7۾\xD3d\xEB\xA31Z\xEB\xBBӑ\xBA\xA2\xB1z\x94\x8F\xDB'\xF6=\x8E\xAA\xB2\xB1\xBE\xB1~V+\xB4\xA2cjJ\xB3tO %mN\x97\xF3\x93\xEF\x84|\x88\xAE-\x89\x8F\xABbW\x90O+
+o\x99^\x97I\xAFH\xD9.\xB0;\x8F\xED\xB6S\xD6]\xE6i_s9\xF3*p\xE9\xFD\xC3\xEB.7U^\xC0\xD1s.\xA03u\xE4 \xB0|^,\xEB\xDB<\x9E\xB7\x80\x91;\xDBc\xAD=ma\xBA\x8B>V\xAB\xDBt.[\xBB\xAB՟Ϫ\xD5\xDD\xE7\xE4x\xA3\xFC\xA9#
+\xD6¡_2 IDATx\xEDٱ
+\xC30 A;\x8B'\x9B+\xC0
+\xBF>\x95\xBE9@\xA1\xFB\xFA]\xE7rx8_\xCF\xE3\xC6% @
+|b'#@\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xC8L& @\x80 @\xA0
+ UNG\x80 @\x80\xC0,`\x80\xCCd @\x80 \xAA\x80R\xE5t @\x80 \xCC\xF7y\xCE\ @\x80 \xFC\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80\xF4\xF3%- hIDAT \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@0@\x9A\x9B\x8A @\x80 \x81 `\x804 @\x80 M\xC0 in* @\x80 \x82\x80\xD0$ @\x80 4\xA4\xB9\xA9 @\x80 H@\x93 @\x80 \xD0\x90\xE6\xA6"@\x80 @ MB\x80 @\x80@\xF87O\xA7\x98\x946? IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/svg/custom/pending-resource-after-removal-expected.txt (0 => 95047)
--- trunk/LayoutTests/svg/custom/pending-resource-after-removal-expected.txt (rev 0)
+++ trunk/LayoutTests/svg/custom/pending-resource-after-removal-expected.txt 2011-09-13 21:54:02 UTC (rev 95047)
@@ -0,0 +1,11 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x8
+ RenderBlock {html} at (0,0) size 800x8
+ RenderBody {body} at (8,8) size 784x0
+layer at (0,0) size 800x600
+ RenderSVGRoot {svg} at (0,0) size 200x200
+ RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGResourcePattern {pattern} [id="pat"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
+ RenderSVGPath {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
+ RenderSVGPath {rect} at (0,0) size 200x200 [fill={[type=PATTERN] [id="pat"]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
Added: trunk/LayoutTests/svg/custom/pending-resource-after-removal.xhtml (0 => 95047)
--- trunk/LayoutTests/svg/custom/pending-resource-after-removal.xhtml (rev 0)
+++ trunk/LayoutTests/svg/custom/pending-resource-after-removal.xhtml 2011-09-13 21:54:02 UTC (rev 95047)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>The rectangle should be green.</title></head>
+<script>
+
+var W = 200;
+var H = 200;
+var SVGNS = "http://www.w3.org/2000/svg";
+var currentColor = 0;
+var colors = ["red", "green"];
+
+function resetFill(parentNode) {
+ var rootPattern = document.createElementNS(SVGNS, "pattern");
+ rootPattern.setAttribute("id", "pat");
+ rootPattern.setAttribute("patternUnits", "userSpaceOnUse");
+ rootPattern.setAttribute("width", W);
+ rootPattern.setAttribute("height", H);
+ parentNode.appendChild(rootPattern);
+
+ var rect = document.createElementNS(SVGNS, "rect");
+ rect.setAttribute("width", W);
+ rect.setAttribute("height", H);
+ rect.setAttribute("fill", colors[currentColor++]);
+ rootPattern.appendChild(rect);
+
+ return rect;
+}
+
+function updateFill() {
+ var el = document.getElementById("shape");
+ var defs = document.getElementById("defs");
+
+ while (defs.firstChild)
+ defs.removeChild(defs.firstChild);
+
+ resetFill(defs);
+
+ el.setAttribute("fill", "url(#pat)");
+
+ if(currentColor == 2)
+ if(window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function test() {
+ if(window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+ updateFill();
+
+ setTimeout("updateFill()", 0);
+}
+</script>
+<body _onload_="test()">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px">
+<defs id="defs"></defs>
+<rect id="shape" width="200" height="200"></rect>
+</svg>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (95046 => 95047)
--- trunk/Source/WebCore/ChangeLog 2011-09-13 21:50:01 UTC (rev 95046)
+++ trunk/Source/WebCore/ChangeLog 2011-09-13 21:54:02 UTC (rev 95047)
@@ -1,3 +1,22 @@
+2011-09-13 Tim Horton <timothy_hor...@apple.com>
+
+ REGRESSION (64275): Shape pattern-image fill turns black
+ https://bugs.webkit.org/show_bug.cgi?id=51061
+ <rdar://problem/8504705>
+
+ Reviewed by Simon Fraser.
+
+ When destroying a resource, register clients who are losing their
+ resource as having pending resources, so they can be resolved in the case a
+ resource with that id is re-registered.
+
+ Test: svg/custom/pending-resource-after-removal.xhtml
+
+ * rendering/svg/SVGResourcesCache.cpp:
+ (WebCore::SVGResourcesCache::resourceDestroyed):
+ * svg/SVGStyledElement.h:
+ (WebCore::toSVGStyledElement): Added.
+
2011-09-13 Eric Seidel <e...@webkit.org>
Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
Modified: trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp (95046 => 95047)
--- trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp 2011-09-13 21:50:01 UTC (rev 95046)
+++ trunk/Source/WebCore/rendering/svg/SVGResourcesCache.cpp 2011-09-13 21:54:02 UTC (rev 95047)
@@ -21,10 +21,12 @@
#include "SVGResourcesCache.h"
#if ENABLE(SVG)
+#include "HTMLNames.h"
#include "RenderSVGResourceContainer.h"
#include "SVGDocumentExtensions.h"
#include "SVGResources.h"
#include "SVGResourcesCycleSolver.h"
+#include "SVGStyledElement.h"
namespace WebCore {
@@ -160,8 +162,16 @@
cache->removeResourcesFromRenderObject(resource);
HashMap<RenderObject*, SVGResources*>::iterator end = cache->m_cache.end();
- for (HashMap<RenderObject*, SVGResources*>::iterator it = cache->m_cache.begin(); it != end; ++it)
+ for (HashMap<RenderObject*, SVGResources*>::iterator it = cache->m_cache.begin(); it != end; ++it) {
it->second->resourceDestroyed(resource);
+
+ // Mark users of destroyed resources as pending resolution based on the id of the old resource.
+ Element* resourceElement = toElement(resource->node());
+ SVGStyledElement* clientElement = toSVGStyledElement(it->first->node());
+ SVGDocumentExtensions* extensions = clientElement->document()->accessSVGExtensions();
+
+ extensions->addPendingResource(resourceElement->fastGetAttribute(HTMLNames::idAttr), clientElement);
+ }
}
}
Modified: trunk/Source/WebCore/svg/SVGStyledElement.h (95046 => 95047)
--- trunk/Source/WebCore/svg/SVGStyledElement.h 2011-09-13 21:50:01 UTC (rev 95046)
+++ trunk/Source/WebCore/svg/SVGStyledElement.h 2011-09-13 21:54:02 UTC (rev 95047)
@@ -96,6 +96,12 @@
END_DECLARE_ANIMATED_PROPERTIES
};
+inline SVGStyledElement* toSVGStyledElement(Node* node)
+{
+ ASSERT(!node || (node->isStyledElement() && node->isSVGElement()));
+ return static_cast<SVGStyledElement*>(node);
+}
+
} // namespace WebCore
#endif // ENABLE(SVG)