Title: [135439] trunk
Revision
135439
Author
[email protected]
Date
2012-11-21 14:42:28 -0800 (Wed, 21 Nov 2012)

Log Message

Invalidate non-composited content host when page scale factor changes
https://bugs.webkit.org/show_bug.cgi?id=100718

Patch by Tien-Ren Chen <[email protected]> on 2012-11-21
Reviewed by Adam Barth.

During a scale change, non-composited content layer doesn't get invalidated
automatically by the transformation change on RenderView. Need to force
update non-composited contents ourself.

Source/WebCore:

Test: compositing/repaint/page-scale-repaint.html

* page/Page.cpp:
(WebCore::Page::setPageScaleFactor):

LayoutTests:

* compositing/repaint/page-scale-repaint-expected.png: Added.
* compositing/repaint/page-scale-repaint-expected.txt: Added.
* compositing/repaint/page-scale-repaint.html: Added.
* compositing/repaint/resources/grid.png: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (135438 => 135439)


--- trunk/LayoutTests/ChangeLog	2012-11-21 22:40:14 UTC (rev 135438)
+++ trunk/LayoutTests/ChangeLog	2012-11-21 22:42:28 UTC (rev 135439)
@@ -1,3 +1,19 @@
+2012-11-21  Tien-Ren Chen  <[email protected]>
+
+        Invalidate non-composited content host when page scale factor changes
+        https://bugs.webkit.org/show_bug.cgi?id=100718
+
+        Reviewed by Adam Barth.
+
+        During a scale change, non-composited content layer doesn't get invalidated
+        automatically by the transformation change on RenderView. Need to force
+        update non-composited contents ourself.
+
+        * compositing/repaint/page-scale-repaint-expected.png: Added.
+        * compositing/repaint/page-scale-repaint-expected.txt: Added.
+        * compositing/repaint/page-scale-repaint.html: Added.
+        * compositing/repaint/resources/grid.png: Added.
+
 2012-11-21  Fady Samuel  <[email protected]>
 
         Clear MousePressed state on context menu to avoid initiating a drag

Added: trunk/LayoutTests/compositing/repaint/page-scale-repaint-expected.png (0 => 135439)


--- trunk/LayoutTests/compositing/repaint/page-scale-repaint-expected.png	                        (rev 0)
+++ trunk/LayoutTests/compositing/repaint/page-scale-repaint-expected.png	2012-11-21 22:42:28 UTC (rev 135439)
@@ -0,0 +1,36 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksum6ca547d680a68c3e1d4fa172d4602110\xF4\xE9eQ IDATx\x9C\xED\xDC?\x8ETA\xDB\xDE\xE1\xBBN\xD5ȉM@`\x83Dld$v\xF0$,\xEB݁7\xE3Ř\xD9\xE0ll\x834n\xF7\x9F\xE3`\xA6\x83\xCE\xE6\xE0\xF3}S\xBA\xAE\xEC\x91ৎ\x8E\xBAU\xED?\xFF\x97\xFF\xFA\xDF\xFE\xBBuMk9\x9Cs\xFF\x907\xFF6kҲ\xEDL\xF2\xF5\xE7/)))\xA9\xFF\xFFԗOo0\x99\xFE\xF3\x9F\xCF\xFF\xC3\xE3ûW\x9F?\xBEy<\x8Ek\xBE\xDD\xE7\xFD\xEB\xFC\xC1\x99\xE4\xAE7)))\xA9\xBDRu\x8D\xC3\xE9r\xBE\xAC\xE7\xCBڗ\xF6\xFB\x90\x87CΗ\\xD6,-\x9B\xCE$RRRR\xBB\xA4\xFA\xE3\xDF(k\xF4\xD6\xFA\xD2zKZ\xBB\xEB\xE9K\xFA\x92\x9E$\xD9t&\x91\x92\x92\x92\xDA%P\xDDx8\xE5?\xFD\x931\xBF\xFFoϧMn9\x93HIII\xED\x92z\xF5o\xFE5>\xFFr\xC6\xFDC\xFE\xFB\xFF\xCA\xF9\x9Ce\xC9\xFF9\xE5\xFE!\xFF\xED\xE6q\x8E\xBA\xE9L"%%%\xB5K\xEA\xE3\xF8\xD7\xF8\xFC\xFC\xCB\xEF^\xE5?\xFD\xFB\xA7\xE3\xE1\x98o\xF7\xF9\xF0Gg\x92\xFF\xF1SJJJj\xB7@]\xE3x\xC9e}\xFA\xDF\xFB\xC39\x8F\xE7\xE3\xD7o:\x93HIII풲q\xAA\xBDeiY\x96\xA4e,y:[\x92mg)))\xA9]R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0.#w))\xA9\xE9RfX@uF\xEERRRӥ\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]F\xEERRRӥ̰\x80\xEA\x8Cܥ\xA4\xA4\xA6KTg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94Ԥ)\x80\xBA\xC6\xE9vz\xBA\x9C>\xFFL"%%%\xB5K\xCA\xA8n\xB4\x96\xA5e\xBD\xEEL\xDBua\xBA\xF5L"%%%\xB5W
+\xA0\xB4\xE5\xA5\xC0\xDFf|\xFD\xF9+yZ\x98ι\xC8\xF7Y\x93\x96mg)))\xA9]R_>\xBD\xDD\xE5\xF0RƇw\xAF>|\xF3x\xD7|\xBB\xCF\xFB\xD7\xF9\x833\xC9]oRRRR{\xA5\xEA\x87\xD3\xE5|Yϗ\xB5/\xED\xF7!\x87\x9C\xAF#\xD3Mg)))\xA9]R\xDD(n\xF4\xD6\xFA\xD2zKZ\xBB\xEB\xE9K\xFA\x92\x9E$\xD9t&\x91\x92\x92\x92\xDA%P\x9D\x97ܥ\xA4\xA4\xA6Ky\xC9\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9ISu\x8D\xE3\xED#\xCB\xC7\xDBW\x95\x9F&\x91\x92\x92\x92\xDA%e\xE3T7\xFA\xE3\xF3\xCAK\xD22\x96\xF4\xEBk\xCBɶ3\x89\x94\x94\x94\xD4.)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0.#w))\xA9\xE9RfX@uF\xEERRRӥ\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]\xE3t\xBB?=\xDDN\x9F&\x91\x92\x92\x92\xDA%e\x86T7Z\xCBҲ^w\xA6\xED\xBA0\xDDz&\x91\x92\x92\x92\xDA+P\xDA\xF2\xD2?\xE0o3\xBE\xFE\xFC\x95<-L\xE7\xDC?\xE4\xFB\x8F\xACI˶3\x89\x94\x94\x94\xD4.\xA9/\x9F\xDE\xEE\xF2\x81x)\xE3ûW\x9F?\xBEy<\x8Ek\xBE\xDD\xE7\xFD\xEB\xFC\xC1\x99\xE4\xAE7)))\xA9\xBDRu\x8D\xC3\xE9r\xBE\xAC\xE7\xCBڗ\xF6\xFB\x90\x87C\xCEב\xE9\xA63\x89\x94\x94\x94\xD4.\xA9n\x877zk}i\xBD%\xAD\xDD\xF5\xF4%}IO\x92l:\x93HIII\xED\x92\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9\xE9R^r\xAA󒻔\x94Ԥ)\x80\xBA\xC6\xF1\xF6\x91\xE5\xE3\xED\xAB\xCA\xCF?\x93HIII풲q\xAA\xFD\xF1y\xE5%iK\xFA\xF5\xB5\xE5dۙDJJJj\x97@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8\xCB\xC8]JJj\xBA\x94P\x9D\x91\xBB\x94\x94\xD4t)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0\xAEq\xBAݟ\x9En\xA7\xCF?\x93HIII\xED\x922\xC3&\xF4\x8F\xFC\xE3\xF9x\xB4\x96\xA5e\xBD\xEEL\xDBua\xBA\xF5L"%%%\xB5W
+\xA0\xB4\xE5\xA5\xC0\xDFf|\xFD\xF9+yZ\x98ι\xC8\xF7Y\x93\x96mg)))\xA9]R_>\xBD\xDD\xE5\xF0RƇw\xAF>|\xF3x\xD7|\xBB\xCF\xFB\xD7\xF9\x833\xC9]oRRRR{\xA5\xEA\x87\xD3\xE5|Yϗ\xB5/\xED\xF7!\x87\x9C\xAF#\xD3Mg)))\xA9]R\xDD(n\xF4\xD6\xFA\xD2zKZ\xBB\xEB\xE9K\xFA\x92\x9E$\xD9t&\x91\x92\x92\x92\xDA%P\x9D\x97ܥ\xA4\xA4\xA6Ky\xC9\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9ISu\x8D\xE3\xED#\xCB\xC7\xDBW\x95\x9F&\x91\x92\x92\x92\xDA%e\xE3T7\xFA\xE3\xF3\xCAK\xD22\x96\xF4\xEBk\xCBɶ3\x89\x94\x94\x94\xD4.)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0.#w))\xA9\xE9RfX@uF\xEERRRӥ\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]\xE3t\xBB?=\xDDN\x9F&\x91\x92\x92\x92\xDA%e\x86T7Z\xCBҲ^w\xA6\xED\xBA0\xDDz&\x91\x92\x92\x92\xDA+P\xDA\xF2\xD2?\xE0o3\xBE\xFE\xFC\x95<-L\xE7\xDC?\xE4\xFB\x8F\xACI˶3\x89\x94\x94\x94\xD4.\xA9/\x9F\xDE\xEE\xF2\x81x)\xE3ûW\x9F?\xBEy<\x8Ek\xBE\xDD\xE7\xFD\xEB\xFC\xC1\x99\xE4\xAE7)))\xA9\xBDRu\x8D\xC3\xE9r\xBE\xAC\xE7\xCBڗ\xF6\xFB\x90\x87C\xCEב\xE9\xA63\x89\x94\x94\x94\xD4.\xA9n\x877zk}i\xBD%\xAD\xDD\xF5\xF4%}IO\x92l:\x93HIII\xED\x92\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9\xE9R^r\xAA󒻔\x94Ԥ)\x80\xBA\xC6\xF1\xF6\x91\xE5\xE3\xED\xAB\xCA\xCF?\x93HIII풲q\xAA\xFD\xF1y\xE5%iK\xFA\xF5\xB5\xE5dۙDJJJj\x97@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8\xCB\xC8]JJj\xBA\x94P\x9D\x91\xBB\x94\x94\xD4t)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0\xAEq\xBAݟ\x9En\xA7\xCF?\x93HIII\xED\x922\xC3\xAA\xADeiY\xAF;\xD3v]\x98n=\x93HIII\xED\x95(my\xE9\xF0\xB7_\xFEJ\x9E\xA6\x87s\xEE\xF2\xFDG֤eۙDJJJj\x97ԗOow\xF9\xC0\xBC\x94\xF1\xE1ݫ\xCF\xDF<\xC75\xDF\xEE\xF3\xFEu\xFE\xE0Lrכ\x94\x94\x94\xD4^)\x80\xBA\xC6\xE1t9_\xD6\xF3e\xEDK\xFB}\xC8\xC3!\xE7\xEB\xC8tәDJJJj\x97T\xB7\xC3\x8A\xBD\xB5\xBE\xB4ޒ\xD6\xEEz\xFA\x92\xBE\xA4'I6\x9DI\xA4\xA4\xA4\xA4vIT\xE7%w))\xA9\xE9R^r\xAA󒻔\x94\xD4t)/\xB9\xD5y\xC9]JJj\xD2@]\xE3x\xFB\xC8\xF2\xF1\xF6U\xE5\xE7\x9FI\xA4\xA4\xA4\xA4vIٸՍ\xFE\xF8\xBC򒴌%\xFD\xFA\xDAr\xB2\xEDL"%%%\xB5K
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD4e\xE4.%%5]\xCA\xA8\xCE\xC8]JJj\xBA@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8\xCB\xC8]JJj\xBA\x94P\x9D\x91\xBB\x94\x94\xD4t)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\xD78\xDD\xEEOO\xB7\x83\xD3\xE7\x9FI\xA4\xA4\xA4\xA4vI\x99aՍֲ\xB4\xACםi\xBB.L\xB7\x9EI\xA4\xA4\xA4\xA4\xF6J\x94\xB6\xBC\xF4\xF8ی\xAF?%O\xD3\xC39\xF7\xF9\xFE#kҲ\xEDL"%%%\xB5K\xEA˧\xB7\xBB|\xE0^\xCA\xF8\xF0\xEE\xD5\xE7\x8Fo\x8F\xE3\x9Ao\xF7y\xFF:p&\xB9\xEBMJJJj\xAF@]\xE3p\xBA\x9C/\xEB\xF9\xB2\xF6\xA5\xFD>\xE4\xE1\x90\xF3ud\xBA\xE9L"%%%\xB5K\xAA\xDBaō\xDEZ_ZoIkw=}I_ғ$\x9B\xCE$RRRR\xBB\xA4\xAA󒻔\x94\xD4t)/\xB9\xD5y\xC9]JJj\xBA\x94\x97܁\xEA\xBC\xE4.%%5i
+\xA0\xAEq\xBC}d\xF9x\xFB\xAA\xF2\xF3\xCF$RRRR\xBB\xA4l܁\xEAF|^yIZƒ~}m9\xD9v&\x91\x92\x92\x92\xDA%P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA2r\x97\x92\x92\x9A.e\x86Tg\xE4.%%5]
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD4e\xE4.%%5]\xCA\xA8\xCE\xC8]JJj\xBA@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8k\x9Cn\xF7\xA7\xA7\xDB\xC1\xE9\xF3\xCF$RRRR\xBB\xA4̰\x80\xEAFkYZ\xD6\xEBδ]\xA6[\xCF$RRRR{\xA5J[^\xFA\xFCm\xC6ן\xBF\x92\xA7\x85\xE9\xE1\x9C\xFB\x87|\xFF\x915i\xD9v&\x91\x92\x92\x92\xDA%\xF5\xE5\xD3\xDB]>p/e|x\xF7\xEA\xF3\xC77\x8F\xC7qͷ\xFB\xBC\x9D?8\x93\xDC\xF5&%%%\xB5W
+\xA0\xAEq8]Η\xF5|Y\xFB\xD2~\xF2p\xC8\xF9:2\xDDt&\x91\x92\x92\x92\xDA%\xD5\x{DC00}\xE2Fo\xAD/\xAD\xB7\xA4\xB5\xBB\x9E\xBE\xA4/\xE9I\x92Mg)))\xA9]R\xD5y\xC9]JJj\xBA\x94\x97܁\xEA\xBC\xE4.%%5]\xCAK\xEE@u^r\x97\x92\x92\x9A4P\xD78\xDE>\xB2|\xBC}U\xF9\xF9g)))\xA9]R6\xEE@u\xA3?>\xAF\xBC$-cI\xBF\xBE\xB6\x9Cl;\x93HIII\xED\x92\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9ISu\xB9KIIM\x972\xC3\xAA3r\x97\x92\x92\x9A.P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA2r\x97\x92\x92\x9A.e\x86Tg\xE4.%%5]
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD45N\xB7\xFB\xD3\xD3\xED\xE0\xF4\xF9g)))\xA9]RfX@u\xA3\xB5,-\xEBugڮӭg)))\xA9\xBDR\xA5-/\xFD\xFE6\xE3\xEB\xCF_\xC9\xD3\xC2\xF4p\xCE\xFDC\xBE\xFFȚ\xB4l;\x93HIII\xED\x92\xFA\xF2\xE9\xED.8\x80\x972>\xBC{\xF5\xF9\xE3\x9B\xC7\xE3\xB8\xE6\xDB}޿\xCE\x9CI\xEEz\x93\x92\x92\x92\xDA+P\xD78\x9C.\xE7\xCBz\xBE\xAC}i\xBFy8\xE4|\x99n:\x93HIII\xED\x92\xEAvX@q\xA3\xB7֗\xD6[\xD2\xDA]O_җ\xF4$ɦ3\x89\x94\x94\x94\xD4.)\x80\xEA\xBC\xE4.%%5]\xCAK\xEE@u^r\x97\x92\x92\x9A.\xE5%w\xA0:/\xB9KIIM\x9A\xA8koY>޾\xAA\xFC\xFC3\x89\x94\x94\x94\xD4.)w\xA0\xBA\xD1\x9FW^\x92\x96\xB1\xA4__[N\xB6\x9DI\xA4\xA4\xA4\xA4vITg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94Ԥ)\x80\xBA\x8Cܥ\xA4\xA4\xA6K\x99a\xD5\xB9KIIM\x97\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9ISu\xB9KIIM\x972\xC3\xAA3r\x97\x92\x92\x9A.P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA\xA7\xDB\xFD\xE9\xE9vp\xFA\xFC3\x89\x94\x94\x94\xD4.)3,\xA0\xBA\xD1Z\x96\x96\xF5\xBA3mׅ\xE9\xD63\x89\x94\x94\x94\xD4^)\x80Җ\x97\xFE\x9B\xF1\xF5\xE7\xAF\xE4iaz8\xE7\xFE!\xDFdMZ\xB6\x9DI\xA4\xA4\xA4\xA4vI}\xF9\xF4v\x97\xC0K޽\xFA\xFC\xF1\xCD\xE3q\\xF3\xED>\xEF_\xE7\xCE$w\xBDIIII\xED\x95\xA8kN\x97\xF3e=_־\xB4߇<r\xBE\x8EL7\x9DI\xA4\xA4\xA4\xA4vIu;,\xA0\xB8\xD1[\xEBK\xEB-i\x{DBA7}/\xE9Kz\x92dәDJJJj\x97@u^r\x97\x92\x92\x9A.\xE5%w\xA0:/\xB9KIIM\x97\xF2\x92;P\x9D\x97ܥ\xA4\xA4&M\xD45\x8E\xB7\x8F,o_U~\xFE\x99DJJJj\x97\x94\x8D;P\xDD\xE8\x8F\xCF+/I\xCBXү\xAF-'\xDB\xCE$RRRR\xBB\xA4\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]F\xEERRRӥ̰\x80\xEA\x8Cܥ\xA4\xA4\xA6KTg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94Ԥ)\x80\xBA\x8Cܥ\xA4\xA4\xA6K\x99a\xD5\xB9KIIM\x97\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9ISu\x8D\xD3\xED\xFE\xF4t;8}\xFE\x99DJJJj\x97\x94P\xDDh-K\xCBzݙ\xB6\xEB\xC2t\xEB\x99DJJJj\xAF@i\xCBK\xFF\x80\xBF\xCD\xF8\xFA\xF3W\xF2\xB40=\x9Cs\xFF\x90\xEF?\xB2&-\xDB\xCE$RRRR\xBB\xA4\xBE|z\xBB\xCBौ\xEF^}\xFE\xF8\xE6\xF18\xAE\xF9v\x9F\xF7\xAF\xF3g\x92\xBBޤ\xA4\xA4\xA4\xF6J\xD45\xA7\xCB\xF9\xB2\x9E/k_\xDA\xEFC9_G\xA6\x9B\xCE$RRRR\xBB\xA4\xBAP\xDC\xE8\xAD\xF5\xA5\xF5\x96\xB4v\xD7ӗ\xF4%=I\xB2\xE9L"%%%\xB5K
+\xA0:/\xB9KIIM\x97\xF2\x92;P\x9D\x97ܥ\xA4\xA4\xA6Ky\xC9\xA8\xCEK\xEERRR\x93\xA6\xEA\xC7\xDBG\x96\x8F\xB7\xAF*?\xFFL"%%%\xB5K\xCA\xC6\xA8n\xF4\xC7畗\xA4e,\xE9\xD7ז\x93mg)))\xA9]R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0.#w))\xA9\xE9RfX@uF\xEERRRӥ\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]F\xEERRRӥ̰\x80\xEA\x8Cܥ\xA4\xA4\xA6KTg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94Ԥ)\x80\xBA\xC6\xE9vz\xBA\x9C>\xFFL"%%%\xB5K\xCA\xA8n\xB4\x96\xA5e\xBD\xEEL\xDBua\xBA\xF5L"%%%\xB5W
+\xA0\xB4\xE5\xA5\xC0\xDFf|\xFD\xF9+yZ\x98ι\xC8\xF7Y\x93\x96mg)))\xA9]R_>\xBD\xDD\xE5\xF0RƇw\xAF>|\xF3x\xD7|\xBB\xCF\xFB\xD7\xF9\x833\xC9]oRRRR{\xA5\xEA\x87\xD3\xE5|Yϗ\xB5/\xED\xF7!\x87\x9C\xAF#\xD3Mg)))\xA9]R\xDD(n\xF4\xD6\xFA\xD2zKZ\xBB\xEB\xE9K\xFA\x92\x9E$\xD9t&\x91\x92\x92\x92\xDA%P\x9D\x97ܥ\xA4\xA4\xA6Ky\xC9\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9ISu\x8D\xE3\xED#\xCB\xC7\xDBW\x95\x9F&\x91\x92\x92\x92\xDA%e\xE3T7\xFA\xE3\xF3\xCAK\xD22\x96\xF4\xEBk\xCBɶ3\x89\x94\x94\x94\xD4.)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0.#w))\xA9\xE9RfX@uF\xEERRRӥ\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]\xE3t\xBB?=\xDDN\x9F&\x91\x92\x92\x92\xDA%e\x86T7Z\xCBҲ^w\xA6\xED\xBA0\xDDz&\x91\x92\x92\x92\xDA+P\xDA\xF2\xD2?\xE0o3\xBE\xFE\xFC\x95<-L\xE7\xDC?\xE4\xFB\x8F\xACI˶3\x89\x94\x94\x94\xD4.\xA9/\x9F\xDE\xEE\xF2\x81x)\xE3ûW\x9F?\xBEy<\x8Ek\xBE\xDD\xE7\xFD\xEB\xFC\xC1\x99\xE4\xAE7)))\xA9\xBDRu\x8D\xC3\xE9r\xBE\xAC\xE7\xCBڗ\xF6\xFB\x90\x87C\xCEב\xE9\xA63\x89\x94\x94\x94\xD4.\xA9n\x877zk}i\xBD%\xAD\xDD\xF5\xF4%}IO\x92l:\x93HIII\xED\x92\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9\xE9R^r\xAA󒻔\x94Ԥ)\x80\xBA\xC6\xF1\xF6\x91\xE5\xE3\xED\xAB\xCA\xCF?\x93HIII풲q\xAA\xFD\xF1y\xE5%iK\xFA\xF5\xB5\xE5dۙDJJJj\x97@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8\xCB\xC8]JJj\xBA\x94P\x9D\x91\xBB\x94\x94\xD4t)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0\xAEq\xBAݟ\x9En\xA7\xCF?\x93HIII\xED\x922\xC3\xAA\xADeiY\xAF;\xD3v]\x98n=\x93HIII\xED\x95(my\xE9\xF0\xB7_\xFEJ\x9E\xA6\x87s\xEE\xF2\xFDG֤eۙDJJJj\x97ԗOow\xF9\xC0\xBC\x94\xF1\xE1ݫ\xCF\xDF<\xC75\xDF\xEE\xF3\xFEu\xFE\xE0Lrכ\x94\x94\x94\xD4^)\x80\xBA\xC6\xE1t9_\xD6\xF3e\xEDK\xFB}\xC8\xC3!\xE7\xEB\xC8tәDJJJj\x97T\xB7\xC3\x8A\xBD\xB5\xBE\xB4ޒ\xD6\xEEz\xFA\x92\xBE\xA4'I6\x9DI\xA4\xA4\xA4\xA4vIT\xE7%w))\xA9\xE9R^r\xAA󒻔\x94\xD4t)/\xB9\xD5y\xC9]JJj\xD2@]\xE3x\xFB\xC8\xF2\xF1\xF6U\xE5\xE7\x9FI\xA4\xA4\xA4\xA4vIٸՍ\xFE\xF8\xBC򒴌%\xFD\xFA\xDAr\xB2\xEDL"%%%\xB5K
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD4e\xE4.%%5]\xCA\xA8\xCE\xC8]JJj\xBA@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8\xCB\xC8]JJj\xBA\x94P\x9D\x91\xBB\x94\x94\xD4t)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\xD78\xDD\xEEOO\xB7\x83\xD3\xE7\x9FI\xA4\xA4\xA4\xA4vI\x99aՍֲ\xB4\xACםi\xBB.L\xB7\x9EI\xA4\xA4\xA4\xA4\xF6J\x94\xB6\xBC\xF4\xF8ی\xAF?%O\xD3\xC39\xF7\xF9\xFE#kҲ\xEDL"%%%\xB5K\xEA˧\xB7\xBB|\xE0^\xCA\xF8\xF0\xEE\xD5\xE7\x8Fo\x8F\xE3\x9Ao\xF7y\xFF:p&\xB9\xEBMJJJj\xAF@]\xE3p\xBA\x9C/\xEB\xF9\xB2\xF6\xA5\xFD>\xE4\xE1\x90\xF3ud\xBA\xE9L"%%%\xB5K\xAA\xDBaō\xDEZ_ZoIkw=}I_ғ$\x9B\xCE$RRRR\xBB\xA4\xAA󒻔\x94\xD4t)/\xB9\xD5y\xC9]JJj\xBA\x94\x97܁\xEA\xBC\xE4.%%5i
+\xA0\xAEq\xBC}d\xF9x\xFB\xAA\xF2\xF3\xCF$RRRR\xBB\xA4l܁\xEAF|^yIZƒ~}m9\xD9v&\x91\x92\x92\x92\xDA%P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA2r\x97\x92\x92\x9A.e\x86Tg\xE4.%%5]
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD4e\xE4.%%5]\xCA\xA8\xCE\xC8]JJj\xBA@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8k\x9Cn\xF7\xA7\xA7\xDB\xC1\xE9\xF3\xCF$RRRR\xBB\xA4̰\x80\xEAFkYZ\xD6\xEBδ]\xA6[\xCF$RRRR{\xA5J[^\xFA\xFCm\xC6ן\xBF\x92\xA7\x85\xE9\xE1\x9C\xFB\x87|\xFF\x915i\xD9v&\x91\x92\x92\x92\xDA%\xF5\xE5\xD3\xDB]>p/e|x\xF7\xEA\xF3\xC77\x8F\xC7qͷ\xFB\xBC\x9D?8\x93\xDC\xF5&%%%\xB5W
+\xA0\xAEq8]Η\xF5|Y\xFB\xD2~\xF2p\xC8\xF9:2\xDDt&\x91\x92\x92\x92\xDA%\xD5\x{DC00}\xE2Fo\xAD/\xAD\xB7\xA4\xB5\xBB\x9E\xBE\xA4/\xE9I\x92Mg)))\xA9]R\xD5y\xC9]JJj\xBA\x94\x97܁\xEA\xBC\xE4.%%5]\xCAK\xEE@u^r\x97\x92\x92\x9A4P\xD78\xDE>\xB2|\xBC}U\xF9\xF9g)))\xA9]R6\xEE@u\xA3?>\xAF\xBC$-cI\xBF\xBE\xB6\x9Cl;\x93HIII\xED\x92\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9ISu\xB9KIIM\x972\xC3\xAA3r\x97\x92\x92\x9A.P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA2r\x97\x92\x92\x9A.e\x86Tg\xE4.%%5]
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD45N\xB7\xFB\xD3\xD3\xED\xE0\xF4\xF9g)))\xA9]RfX@u\xA3\xB5,-\xEBugڮӭg)))\xA9\xBDR\xA5-/\xFD\xFE6\xE3\xEB\xCF_\xC9\xD3\xC2\xF4p\xCE\xFDC\xBE\xFFȚ\xB4l;\x93HIII\xED\x92\xFA\xF2\xE9\xED.8\x80\x972>\xBC{\xF5\xF9\xE3\x9B\xC7\xE3\xB8\xE6\xDB}޿\xCE\x9CI\xEEz\x93\x92\x92\x92\xDA+P\xD78\x9C.\xE7\xCBz\xBE\xAC}i\xBFy8\xE4|\x99n:\x93HIII\xED\x92\xEAvX@q\xA3\xB7֗\xD6[\xD2\xDA]O_җ\xF4$ɦ3\x89\x94\x94\x94\xD4.)\x80\xEA\xBC\xE4.%%5]\xCAK\xEE@u^r\x97\x92\x92\x9A.\xE5%w\xA0:/\xB9KIIM\x9A\xA8koY>޾\xAA\xFC\xFC3\x89\x94\x94\x94\xD4.)w\xA0\xBA\xD1\x9FW^\x92\x96\xB1\xA4__[N\xB6\x9DI\xA4\xA4\xA4\xA4vITg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94Ԥ)\x80\xBA\x8Cܥ\xA4\xA4\xA6K\x99a\xD5\xB9KIIM\x97\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9ISu\xB9KIIM\x972\xC3\xAA3r\x97\x92\x92\x9A.P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA\xA7\xDB\xFD\xE9\xE9vp\xFA\xFC3\x89\x94\x94\x94\xD4.)3,\xA0\xBA\xD1Z\x96\x96\xF5\xBA3mׅ\xE9\xD63\x89\x94\x94\x94\xD4^)\x80Җ\x97\xFE\x9B\xF1\xF5\xE7\xAF\xE4iaz8\xE7\xFE!\xDFdMZ\xB6\x9DI\xA4\xA4\xA4\xA4vI}\xF9\xF4v\x97\xC0K޽\xFA\xFC\xF1\xCD\xE3q\\xF3\xED>\xEF_\xE7\xCE$w\xBDIIII\xED\x95\xA8kN\x97\xF3e=_־\xB4߇<r\xBE\x8EL7\x9DI\xA4\xA4\xA4\xA4vIu;,\xA0\xB8\xD1[\xEBK\xEB-i\x{DBA7}/\xE9Kz\x92dәDJJJj\x97@u^r\x97\x92\x92\x9A.\xE5%w\xA0:/\xB9KIIM\x97\xF2\x92;P\x9D\x97ܥ\xA4\xA4&M\xD45\x8E\xB7\x8F,o_U~\xFE\x99DJJJj\x97\x94\x8D;P\xDD\xE8\x8F\xCF+/I\xCBXү\xAF-'\xDB\xCE$RRRR\xBB\xA4\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]F\xEERRRӥ̰\x80\xEA\x8Cܥ\xA4\xA4\xA6KTg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94Ԥ)\x80\xBA\x8Cܥ\xA4\xA4\xA6K\x99a\xD5\xB9KIIM\x97\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9ISu\x8D\xD3\xED\xFE\xF4t;8}\xFE\x99DJJJj\x97\x94P\xDDh-K\xCBzݙ\xB6\xEB\xC2t\xEB\x99DJJJj\xAF@i\xCBK\xFF\x80\xBF\xCD\xF8\xFA\xF3W\xF2\xB40=\x9Cs\xFF\x90\xEF?\xB2&-\xDB\xCE$RRRR\xBB\xA4\xBE|z\xBB\xCBौ\xEF^}\xFE\xF8\xE6\xF18\xAE\xF9v\x9F\xF7\xAF\xF3g\x92\xBBޤ\xA4\xA4\xA4\xF6J\xD45\xA7\xCB\xF9\xB2\x9E/k_\xDA\xEFC9_G\xA6\x9B\xCE$RRRR\xBB\xA4\xBAP\xDC\xE8\xAD\xF5\xA5\xF5\x96\xB4v\xD7ӗ\xF4%=I\xB2\xE9L"%%%\xB5K
+\xA0:/\xB9KIIM\x97\xF2\x92;P\x9D\x97ܥ\xA4\xA4\xA6Ky\xC9\xA8\xCEK\xEERRR\x93\xA6\xEA\xC7\xDBG\x96\x8F\xB7\xAF*?\xFFL"%%%\xB5K\xCA\xC6\xA8n\xF4\xC7畗\xA4e,\xE9\xD7ז\x93mg)))\xA9]R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0.#w))\xA9\xE9RfX@uF\xEERRRӥ\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]F\xEERRRӥ̰\x80\xEA\x8Cܥ\xA4\xA4\xA6KTg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94Ԥ)\x80\xBA\xC6\xE9vz\xBA\x9C>\xFFL"%%%\xB5K\xCA\xA8n\xB4\x96\xA5e\xBD\xEEL\xDBua\xBA\xF5L"%%%\xB5W
+\xA0\xB4\xE5\xA5\xC0\xDFf|\xFD\xF9+yZ\x98ι\xC8\xF7Y\x93\x96mg)))\xA9]R_>\xBD\xDD\xE5\xF0RƇw\xAF>|\xF3x\xD7|\xBB\xCF\xFB\xD7\xF9\x833\xC9]oRRRR{\xA5\xEA\x87\xD3\xE5|Yϗ\xB5/\xED\xF7!\x87\x9C\xAF#\xD3Mg)))\xA9]R\xDD(n\xF4\xD6\xFA\xD2zKZ\xBB\xEB\xE9K\xFA\x92\x9E$\xD9t&\x91\x92\x92\x92\xDA%P\x9D\x97ܥ\xA4\xA4\xA6Ky\xC9\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9ISu\x8D\xE3\xED#\xCB\xC7\xDBW\x95\x9F&\x91\x92\x92\x92\xDA%e\xE3T7\xFA\xE3\xF3\xCAK\xD22\x96\xF4\xEBk\xCBɶ3\x89\x94\x94\x94\xD4.)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0.#w))\xA9\xE9RfX@uF\xEERRRӥ\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5]\xCA\xC8\xA8\xCE\xC8]JJj\xD2@]\xE3t\xBB?=\xDDN\x9F&\x91\x92\x92\x92\xDA%e\x86T7Z\xCBҲ^w\xA6\xED\xBA0\xDDz&\x91\x92\x92\x92\xDA+P\xDA\xF2\xD2?\xE0o3\xBE\xFE\xFC\x95<-L\xE7\xDC?\xE4\xFB\x8F\xACI˶3\x89\x94\x94\x94\xD4.\xA9/\x9F\xDE\xEE\xF2\x81x)\xE3ûW\x9F?\xBEy<\x8Ek\xBE\xDD\xE7\xFD\xEB\xFC\xC1\x99\xE4\xAE7)))\xA9\xBDRu\x8D\xC3\xE9r\xBE\xAC\xE7\xCBڗ\xF6\xFB\x90\x87C\xCEב\xE9\xA63\x89\x94\x94\x94\xD4.\xA9n\x877zk}i\xBD%\xAD\xDD\xF5\xF4%}IO\x92l:\x93HIII\xED\x92\xA8\xCEK\xEERRRӥ\xBC\xE4T\xE7%w))\xA9\xE9R^r\xAA󒻔\x94Ԥ)\x80\xBA\xC6\xF1\xF6\x915\xBC\x87IDAT\xE5\xE3\xED\xAB\xCA\xCF?\x93HIII풲q\xAA\xFD\xF1y\xE5%iK\xFA\xF5\xB5\xE5dۙDJJJj\x97@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8\xCB\xC8]JJj\xBA\x94P\x9D\x91\xBB\x94\x94\xD4t)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\x97\x91\xBB\x94\x94\xD4t)3,\xA0:#w))\xA9\xE9R\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A.e\xE4Tg\xE4.%%5i
+\xA0\xAEq\xBAݟ\x9En\xA7\xCF?\x93HIII\xED\x922\xC3\xAA\xADeiY\xAF;\xD3v]\x98n=\x93HIII\xED\x95(my\xE9\xF0\xB7_\xFEJ\x9E\xA6\x87s\xEE\xF2\xFDG֤eۙDJJJj\x97ԗOow\xF9\xC0\xBC\x94\xF1\xE1ݫ\xCF\xDF<\xC75\xDF\xEE\xF3\xFEu\xFE\xE0Lrכ\x94\x94\x94\xD4^)\x80\xBA\xC6\xE1t9_\xD6\xF3e\xEDK\xFB}\xC8\xC3!\xE7\xEB\xC8tәDJJJj\x97T\xB7\xC3\x8A\xBD\xB5\xBE\xB4ޒ\xD6\xEEz\xFA\x92\xBE\xA4'I6\x9DI\xA4\xA4\xA4\xA4vIT\xE7%w))\xA9\xE9R^r\xAA󒻔\x94\xD4t)/\xB9\xD5y\xC9]JJj\xD2@]\xE3x\xFB\xC8\xF2\xF1\xF6U\xE5\xE7\x9FI\xA4\xA4\xA4\xA4vIٸՍ\xFE\xF8\xBC򒴌%\xFD\xFA\xDAr\xB2\xEDL"%%%\xB5K
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD4e\xE4.%%5]\xCA\xA8\xCE\xC8]JJj\xBA@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8\xCB\xC8]JJj\xBA\x94P\x9D\x91\xBB\x94\x94\xD4t)\x80\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x972r\xAA3r\x97\x92\x92\x9A4P\xD78\xDD\xEEOO\xB7\x83\xD3\xE7\x9FI\xA4\xA4\xA4\xA4vI\x99aՍֲ\xB4\xACםi\xBB.L\xB7\x9EI\xA4\xA4\xA4\xA4\xF6J\x94\xB6\xBC\xF4\xF8ی\xAF?%O\xD3\xC39\xF7\xF9\xFE#kҲ\xEDL"%%%\xB5K\xEA˧\xB7\xBB|\xE0^\xCA\xF8\xF0\xEE\xD5\xE7\x8Fo\x8F\xE3\x9Ao\xF7y\xFF:p&\xB9\xEBMJJJj\xAF@]\xE3p\xBA\x9C/\xEB\xF9\xB2\xF6\xA5\xFD>\xE4\xE1\x90\xF3ud\xBA\xE9L"%%%\xB5K\xAA\xDBaō\xDEZ_ZoIkw=}I_ғ$\x9B\xCE$RRRR\xBB\xA4\xAA󒻔\x94\xD4t)/\xB9\xD5y\xC9]JJj\xBA\x94\x97܁\xEA\xBC\xE4.%%5i
+\xA0\xAEq\xBC}d\xF9x\xFB\xAA\xF2\xF3\xCF$RRRR\xBB\xA4l܁\xEAF|^yIZƒ~}m9\xD9v&\x91\x92\x92\x92\xDA%P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA2r\x97\x92\x92\x9A.e\x86Tg\xE4.%%5]
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD4e\xE4.%%5]\xCA\xA8\xCE\xC8]JJj\xBA@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4\xA6K\xB9\xD5\xB9KIIM\x9A\xA8k\x9Cn\xF7\xA7\xA7\xDB\xC1\xE9\xF3\xCF$RRRR\xBB\xA4̰\x80\xEAFkYZ\xD6\xEBδ]\xA6[\xCF$RRRR{\xA5J[^\xFA\xFCm\xC6ן\xBF\x92\xA7\x85\xE9\xE1\x9C\xFB\x87|\xFF\x915i\xD9v&\x91\x92\x92\x92\xDA%\xF5\xE5\xD3\xDB]>p/e|x\xF7\xEA\xF3\xC77\x8F\xC7qͷ\xFB\xBC\x9D?8\x93\xDC\xF5&%%%\xB5W
+\xA0\xAEq8]Η\xF5|Y\xFB\xD2~\xF2p\xC8\xF9:2\xDDt&\x91\x92\x92\x92\xDA%\xD5\x{DC00}\xE2Fo\xAD/\xAD\xB7\xA4\xB5\xBB\x9E\xBE\xA4/\xE9I\x92Mg)))\xA9]R\xD5y\xC9]JJj\xBA\x94\x97܁\xEA\xBC\xE4.%%5]\xCAK\xEE@u^r\x97\x92\x92\x9A4P\xD78\xDE>\xB2|\xBC}U\xF9\xF9g)))\xA9]R6\xEE@u\xA3?>\xAF\xBC$-cI\xBF\xBE\xB6\x9Cl;\x93HIII\xED\x92\xA8\xCE\xC8]JJj\xBA\x94\x91;P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9ISu\xB9KIIM\x972\xC3\xAA3r\x97\x92\x92\x9A.P\x9D\x91\xBB\x94\x94\xD4t)#w\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRR\x93\xA6\xEA2r\x97\x92\x92\x9A.e\x86Tg\xE4.%%5]
+\xA0:#w))\xA9\xE9RF\xEE@uF\xEERRRӥ\x8C܁\xEA\x8Cܥ\xA4\xA4&M\xD45N\xB7\xFB\xD3\xD3\xED\xE0\xF4\xF9g)))\xA9]RfX@u\xA3\xB5,-\xEBugڮӭg)))\xA9\xBDR\xA5-/\xFD\xFE6\xFF\x8D\xA2\xC7\xC3貎PIEND\xAEB`\x82
\ No newline at end of file

Added: trunk/LayoutTests/compositing/repaint/page-scale-repaint-expected.txt (0 => 135439)


--- trunk/LayoutTests/compositing/repaint/page-scale-repaint-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/compositing/repaint/page-scale-repaint-expected.txt	2012-11-21 22:42:28 UTC (rev 135439)
@@ -0,0 +1,5 @@
+layer at (0,0) size 785x10016
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x10016
+  RenderBlock {HTML} at (0,0) size 785x10016
+    RenderBody {BODY} at (8,8) size 769x10000

Added: trunk/LayoutTests/compositing/repaint/page-scale-repaint.html (0 => 135439)


--- trunk/LayoutTests/compositing/repaint/page-scale-repaint.html	                        (rev 0)
+++ trunk/LayoutTests/compositing/repaint/page-scale-repaint.html	2012-11-21 22:42:28 UTC (rev 135439)
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<body style="height:10000px;background-image:url('resources/grid.png')" _onload_="runTest();">
+<script>
+function runTest() {
+    if (window.testRunner)
+        testRunner.display();
+    if (window.internals)
+        window.internals.settings.setPageScaleFactor(0.5, 0, 0);
+}
+</script>
+<div style="-webkit-transform:translateZ(0);"></div>
+</body>
+</html>

Added: trunk/LayoutTests/compositing/repaint/resources/grid.png (0 => 135439)


--- trunk/LayoutTests/compositing/repaint/resources/grid.png	                        (rev 0)
+++ trunk/LayoutTests/compositing/repaint/resources/grid.png	2012-11-21 22:42:28 UTC (rev 135439)
@@ -0,0 +1,4 @@
+\x89PNG
+
+
+IHDR22\x91]\xE6sRGB\xAE\xCE\xE9	pHYs\x9A\x9CtIME\xDC	)\x96	<tEXtCommentCreated with GIMPW\x81ZIDATX\xC3\xED\xD41\xC00A;\x94\xC4I\x9C\xC4I\x9Cv猋\xFDV\xCD\x9A\x9BY=.\V\xBF\xEBm\x8F\xAFϸrXXXX\xCBͬ\x8E\x95Wy,,,\x95Wy\xBF\x85\x85\x85\xA5\xF2*ﷰ\xB0\xB0T^\xE5\xBD<\xD6\xFB(\xD0\xE4\xF3\xF8\xB9_IEND\xAEB`\x82
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (135438 => 135439)


--- trunk/Source/WebCore/ChangeLog	2012-11-21 22:40:14 UTC (rev 135438)
+++ trunk/Source/WebCore/ChangeLog	2012-11-21 22:42:28 UTC (rev 135439)
@@ -1,3 +1,19 @@
+2012-11-21  Tien-Ren Chen  <[email protected]>
+
+        Invalidate non-composited content host when page scale factor changes
+        https://bugs.webkit.org/show_bug.cgi?id=100718
+
+        Reviewed by Adam Barth.
+
+        During a scale change, non-composited content layer doesn't get invalidated
+        automatically by the transformation change on RenderView. Need to force
+        update non-composited contents ourself.
+
+        Test: compositing/repaint/page-scale-repaint.html
+
+        * page/Page.cpp:
+        (WebCore::Page::setPageScaleFactor):
+
 2012-11-21  Ryosuke Niwa  <[email protected]>
 
         Yet another EFL & GTK+ build fix after r135429.

Modified: trunk/Source/WebCore/page/Page.cpp (135438 => 135439)


--- trunk/Source/WebCore/page/Page.cpp	2012-11-21 22:40:14 UTC (rev 135438)
+++ trunk/Source/WebCore/page/Page.cpp	2012-11-21 22:42:28 UTC (rev 135439)
@@ -677,6 +677,9 @@
 
     document->recalcStyle(Node::Force);
 
+    // Transform change on RenderView doesn't trigger repaint on non-composited contents.
+    mainFrame()->view()->invalidateRect(IntRect(LayoutRect::infiniteRect()));
+
 #if USE(ACCELERATED_COMPOSITING)
     mainFrame()->deviceOrPageScaleFactorChanged();
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to