Title: [133085] trunk
Revision
133085
Author
[email protected]
Date
2012-10-31 15:27:49 -0700 (Wed, 31 Oct 2012)

Log Message

Apply transformation for highlights on non-composited contents
https://bugs.webkit.org/show_bug.cgi?id=100438

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

Non-composited content host layer "steals" the contents on the
RenderView layer, including the highlight layer.
The transformation for regular contents are applied by the paint
function of the non-composited content host however the highlight
uses its own WebLayer. Need to apply the same transformation to
the highlight layer as well.

Source/WebKit/chromium:

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::computeEnclosingCompositingLayer):
* src/LinkHighlight.h:
(LinkHighlight):

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (133084 => 133085)


--- trunk/LayoutTests/ChangeLog	2012-10-31 22:22:07 UTC (rev 133084)
+++ trunk/LayoutTests/ChangeLog	2012-10-31 22:27:49 UTC (rev 133085)
@@ -1,3 +1,21 @@
+2012-10-31  Tien-Ren Chen  <[email protected]>
+
+        Apply transformation for highlights on non-composited contents
+        https://bugs.webkit.org/show_bug.cgi?id=100438
+
+        Reviewed by Adam Barth.
+
+        Non-composited content host layer "steals" the contents on the
+        RenderView layer, including the highlight layer.
+        The transformation for regular contents are applied by the paint
+        function of the non-composited content host however the highlight
+        uses its own WebLayer. Need to apply the same transformation to
+        the highlight layer as well.
+
+        * platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html: Added.
+        * platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.png: Added.
+        * platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.txt: Added.
+
 2012-10-31  Thiago Marcos P. Santos  <[email protected]>
 
         Added viewport at-rule to the CSS parser and tokenizer

Added: trunk/LayoutTests/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html (0 => 133085)


--- trunk/LayoutTests/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html	                        (rev 0)
+++ trunk/LayoutTests/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html	2012-10-31 22:27:49 UTC (rev 133085)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+</head>
+<body _onload_="runTest();">
+<div style="position: relative; left: 10; top: 40">
+<a href="" id="targetLink" style="-webkit-tap-highlight-color: rgba(0, 255, 0, 0.5)">Target Link.</a>
+</div>
+<div style="-webkit-transform: translateZ(0); position: relative; left: 10; top: 70">
+This test is successful if "Target Link" above is covered in a transparent green rectangle with rounded corners.
+</div>
+<script>
+function runTest() {
+    if (window.internals) {
+        window.internals.settings.setPageScaleFactor(2, 0, 0);
+    }
+
+    var clientRect = document.getElementById('targetLink').getBoundingClientRect();
+    x = (clientRect.left + clientRect.right) / 2;
+    y = (clientRect.top + clientRect.bottom) / 2;
+    if (window.testRunner) {
+        testRunner.dumpAsText(true);
+        testRunner.waitUntilDone();
+    }
+
+    if (window.eventSender) {
+        eventSender.gestureTapDown(x, y);
+        window.setTimeout(function() { window.testRunner.notifyDone(); }, 0);
+    } else {
+        debug("This test requires DumpRenderTree.");
+    }
+}
+</script>
+</script>
+</body>
+</html>

Added: trunk/LayoutTests/platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.png (0 => 133085)


--- trunk/LayoutTests/platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.png	                        (rev 0)
+++ trunk/LayoutTests/platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.png	2012-10-31 22:27:49 UTC (rev 133085)
@@ -0,0 +1,44 @@
+\x89PNG
+
+
+IHDR X')tEXtchecksum76fea1ec1f21990db878db810b17ee72\xE6\xAFN IDATx\x9C\xED\xDD{\x9CUe\xA1?\xFE5W\xEEwPAE@	\xB0R,T\xD4N\x99z\xD4R<fEY\xFEԮ\xE6\xD1~jzR;'\xCD:˲\x9B\xC7ci\xDA\xC5\xCA\xF2\xD8\xC58V\x98\x94!(\xC8U\xB9߆a@\x98f\x98\xD9\xDF?\x96\xAEv{f6ko\xC4\xF7\xFB\xE5\xCBמg?k\xADg=\xCFZkX{\xAD\xB5K2\x99L@^\xB7\xDF~{\xFAʥ\xFB\xAFoL@`@`@`@`@`@`@`@`@`@`@`@`@`@`\xE5EO9?\x9A\xFFl\xF4luT\xB05\x845$29\x9A<!\x9A\xD0\xD9
+\x807\x96bVS\xD4\xF4`\xF4\xE0\xC6hc\xF0\xD6VuT\xFD\xCB\xE8\x97\x8B\xFE6=\x9A\xDE5\xEA\xDA\xD9\xCD\x807\x8Ab\xBE"\x94\xAE^_6F\x8C\xEC\xECV\xC0H\xC1k~4_\xBAz\xDD\xD9m\x9C\xCD\xEF\xECV\xC0E\xC1kv4{\xB4\x83\xFD\xCD\xC0\xC0Sp\xC0\xAA\x8A\xAA\xF6G;\xD8\xDF0\xD3\x98\x80\x98\x80u\xA0-\xF8\xF3\x9A\xC7\xEEyv\xC1\x9F\xD7:\xE1\xF6-;g\xFFv\xD9\xCF\xEE\xFE\xCB\xFEhP1\xCF\xC1z\xF4\xAB\xC6O\xBB\xEEmE,\xE8\xE0\x94g\xF5Ӭ\xE6\xB26\xB6\xECn]\xFE\xC2\xC6\xF1\xA7\x8EH\xB9\xC4-v,\x9D\xBDa\xE3\xCAmi\x9Bt\xAAb\x9F\xE4^M8\xFD\xA8\xE3Uv\xAB(\x89\xA2(+v\xC4!#\x93\xC94\xD67\xAF|qӒg\xD7i\xE8\xC1c\xDAuok\xACo~q\xE6\xEA\xB5K\xB7\xC4%G\x8E8~\xCA\xF0\xA4\x99\xFC\xD8IC\x97\xBD\xB0\xF1\x98IC\xD3/\xF1ŧ\xD74\xD6\xED*\xA6\xAD@g(\xF2+\xC2\xD1'>\xFA͇wy-]\xB5URRҽW\x97\xDE>\xFC\xE8\x89C\x8An\xDCV[Ӑ\xF2\xE4\\xB7\x9E\x95'd\x9D\x9Ax\xC6\xC8}\xBA\x96\x94v\xD4\xFF`\xFC\xA9#\xDE\xFB\xE9\xC9\xE9O_EQt\xE6\xFBƟ6\xED\xF8\xF4\xF5\x80\xCEUd\xC0:\xEA\x84\xC3R\xD69~pq\x8B8\xF0V.ؔ\xBEr\xB7\x9E\x95\xC9\xEB.݊\xFFIǔz\xF4Nuz8\xB0\x86\x8Fث_\xB7\x94\x95{\xF7\xEF6|\xEC\xC0"\x96r\x80\xEDܱk\xF5š\xF4\xF5K\xB3\xCEW\x95\x94\xA4:w\xB5/J\xCA܎\xAFŜz9\xF9\x9C\xD1\xE9+\x97\x95\x97T\xBFSdZ3\xCF=\xB9\xBCeOkg7\xA4C\xFB=\xC1\xE18/eZ3sf\xAC\xA8Y\xBB\xBD\xB3"\xF6\xFB\xC5C9\x9A\x9B\xF6\xBC<\xA7\xAAj\xE5\xD6\xFAڦ\xD6=\xAD\x95\xDD*\xFA
+\xEEq\xF4\x84!\x87\xDD?\xBBڎ\xAD\x8D/?\xB7a͒\xCD}\xE6\x94\xDD\xCD-/>\xBDz\xED\x92-e\xE5\xA5o:uDr\xF9\xD7\xD6\xEA\xFA\x97\xE7Vm^\xB7}W㞊.e\xFD\x87\xF4<f\xE2С\xA3\xFA\xB5]h\xF5\xEAڕ/V\xBFRU\xD70\xB4\xD7\xD1\x87\xF9j\xCD?\xFEd\xE1+UuI\xE5\xE4:\xF7\x93\xCF=|L\xF8/7w\xBC\xB2\xF3\xA5\xE76\xACY\xB2\xE5\xE2kO\x89\xD7\xF4\xA5\xE76\xAC]\xB2\xF9\xA2ϜEѺ\xA5[\x96>\xB7~\xFB\x96\xC6\xEE\xBD+Ǟ<l\xE4	{\xB9\x82\xED?^\xF0ʆ\xBA\xEC\x92C\xE9\x89\xF0:u@V}mӟ~\xBA\xB0\xB1\xAEy\xF4[?\xF3}G65\xEC\xFEۯ_\xAE^U[\xBD\xAA\xF6\xC4w\x8C:z(\x8A\xB6l\xA8{\xE9\xB9
+U+\xB6Ɠ\xECin\x99\xF9\xE8\xA2m\xD5\xF5\xF1\xEB\xFE\xB82X\xCB\xE7U\xCF\xFB\xC3ʮ=*\xDFv\xC1\x98\xBE\x83z\xACZ\xB0\xE9\x85?\xAC\xAA^U\x9B,\xAB\xB2[\xF9?\xA9eO\xEB\xDC+ZZZǞ<\xAC\xCF\xC0\xEE\xBBv\xEEY\xB3\xA4f\xD1_\xD7m\\xB9\xED\xD8\x87N<cdEg\xBEo|\xD4\xE61\xFBÖ
+;^znCՊm\xED\xFE\x99\x89\xA2\x9EZ\xB9b^u\xFCgC\xED\xAE9O\xAE\xE8ҭ"'z\xE68\xED\xBD\xE3\xFE\xF4\xE8\xA2Lk\xEB1\x93\x86vd\x9F\xAE=*\xF3T\x8C\xB0\xE6\xFC~yc]sII4~ʈҲ\x92\x9E}\xCB\xDEt\xFAQ\xFA\xC9\xC2(\x8A^\x9E[\xAC\xE7\x9FZ\xB1k\xE7\xEEd\x92\xE7\x9FZ9\xF2\x84æ\xBCg\xEC⿮[\xB3\xA8f\xF8\x98AQլ\xDD\xFE\xC2S+\xA3(\x9A0\xF5\xA8C{EQt̤\xA1[7կY\xB49\x8A\xA2\xCF\x95<\xE2\xF9\xA7V\x96\x96\x95\x9C\xF4\xEE\xE3\xE2?\xBB\xF5\xAAsҰ.\xDD+\xE7<\xB9|\xD9\xF3\xFB
+\xEE9bܠ\xB6\xFA\xF3\xFE\xB8\xAA\xA9awG\xBE8suiYɹW\xBE\xB9\xA2\xB2l\xEE\x8C\xEB^z%\x8A\xA2\x97\xE6T\xE5	X\x99L\xE6\xE5\xB9U\xEF5\xE1\xF4\xA3R>$8\xE85X[7\xD6GQTRZRZ\xF6j\xE8;\xA8G\xFCb\xE7k\xD2|\xE7\xF4\x89S\xFF\xE5\x84d\x92=aH\xD7\xEE'\x9E5\xEA=\x9F\x9E\xFC\xE6::\x8A\xA2%\xB3_}x\xE9a\xC3\xFB$5\x8F\xF7\xEAW\x87\xC9\xD3\xB6l\xA8[\xBD\xB0f\xEC\xE4#s\x9A1\xEC\xD8W#ˊ\xF9\xD5\xC1\xD6-\x85w|`\xC2\xE9Y\x8F\xB3z\xC7&\x9C~\xC9\xDF\xFF\xEC=\xA0\xDBĩ#\xBB\xF7\xEARѥ<i\xF3\xF6\xCD
+\xCDmOs\xCB_\xA9\xA2k\xF9\xC43FJWpP9\xA0g\xB0\x8E:\xE1\xB0\xD5k\x8E:\xFE\xEF'\x8Dʻ\x94\xC5/Z\xF7d\x92\xC2\xECg>\x8D;eX\xDB\xF9l}풩ʮo\x92\xD5vl\xDD\xBFX\xB5pSE\xBF\xB9onG\xED\xA9\xED8\xBE\xEC'\xDD\xFF\xF1qV\xD9k\x9A}\xB9UϾ]\xE3\xBB\x9B[ڝ\xCFκ]\xFB\xF5\xCBcN\xD6\xEE5g@\xE7:\xA0\xEBijF\x9Dx֨\xF8\xF5\xCE\xBB\xD6,ټv\xC9\xE6\xB6ղ\x9F\xF9T\xDA\xDE\xF3\x9F2\xAF\x85\xB1=\xCD-]^]\x85\x8AײZ\xE9kO\xA5ڲaGE\xEF\xBDfrY\xF9\xC1r\xB3d\xE9?\xB6\xA4\xA3\xA7[\xFD\xBD\xC1\x99v\xDEݶ\xA9\xFE\x99ǖ\x8Cz\xD3\xE9
+N\x9D\x90<\xAAWm{\xFA\xE7\x8Bg<4\xD7\xCE\xDD\xED>"k\xAF_w\xF5\xD23~Q\xBBygR\xB8{WKλ\x8D\xF5\xCD\xC9\xFF%y\xFFL\xE9\xC5?\xAFijؽ\xE4o\xEBk\xD6y\xB4\x8Ch\xC0ڱ\xB5\xF1\x8F?^\xF0\xE7ǖ\xF4\xDC\xE3\xDC\xFF\xEF\xCD\xCF\xD9\xF7\xB0E\xCCg\xCCIG\xC4/\xD6,\xFE\xFB\xB3\xD77ox5m\xF7\xD6W\xDFʹf\xA2(\xDA|ȥ\x90\xC9\xE7\x8C\xEEѧK\xA65\xF3\xD7\xC7_\xAA\xDB\xD6\xD8\xD9\xCDr\xB8\x80\xB5\xB5\xBA\xFE\xA9\x87\xE7o\xD9P7q\xEA\xC8\xF1SF\x94W\x96=\xAB\xA1#\xFBM:sdIiɪ\x855+\xE6W\xB7\xECiݶ\xA9~\xDEWGQt\xC2ۇ'\xB8\xEAҽ"\x8A\xA2e\xCFolmi盶ښ\x86\xCD+\xBA
+\xE9_P\x97\xEES\xDE3\xB6\xA2KYsӞg[\xD2ܸ'\xE0\xCC\x80}w\xE0ּ?\xAE\xDA\xD3\xDCE\xD1\xC8\xF1i(:\x8F\xE1c
+\xD6{\xE8\xC8~K\xFE\xB6\xFE\xB1o\xFC\xED\xCF?_\xDCwP\xF7ӧ?v\xF2\xDF/\x8A\x8F\x9F\xE0\xB0}\xCB\xCE\xE7\x9FZ\x91\xC9\xE4f\xAC\xA5\xCFmH\xAE\xDFگV\xBCX=\xE4\xA8\xC0K\xF5\xD0\xFD\x94>\xAE\xA44\xAA\xDF\xD6\xF4\x97\xFF]\xDAn\x82:K\x98\x84\xD1\xDA\xFA\xF7\xF8Lk\xA6ݧl\xDBT\xBFhj\xD8ݳ﫧\xAF\x9A\xB2y\xD5ښ\x89A9;,d2\x99\xB6?\xA5\xDCX\xDF<\xF3\xD1E\xE3&>6\xDFS\xACF\x8C\xB4\xFE\xE5W\xA2(Z\xB5\xA0\xA6~[\xD3\xD8\xC9\xC3\xED\x95D\xF5ۚV-\xACY\xB7tKr\xC5}\xB6=\xCD-iήe\xAFr
+;v\xAD^Xs\xD6eozuu\xB2;\xAA͟\xED^\x92\xF7@ۚ\x83G\xF4=\xF1\xACQsg\xACܼn\xC7\xDC\xFF[\xF1\xD6w\x93\xA6=\xC0&`5e]H\xDE\xD8\xD0ܽW\x97\xB6u\xBAt\xAFh\xACk\x8E\xA2h\xCE\xF4\xEEc\xCB+\xCA\xD6.ټ&\xEB.\xC2\xFAm\x8D\xEB^~\xE5\xF8S\x8Eܓ\xF5l\x82\xE6\xA6=]\xBAU\xE4\xCC\xEA\xB9\xDF-\xAB\xDBژ\xF3ȃ\xB6?\xBA\xFFУ\xFBm\\xB1-\x8A\xA2\xCD\xEBwl\xFE\xD9\xE2\xECw{\xF6\xEB\x9A\xFC\xEANE]\xBA\x95\xEFj\xDCE\xD1\xCA\x9BF\xBDi\xF0\x8Ay\xD5Wn\xCB~"W\x9EU\xEE(\x93\xB5\xECi\x9D\xFD\x9B\x97{\xF4\xE9\x92\j\xB6\xAB\xF1\xB9qw\xF6\xCFK\xEFٵ'9\xA3\x96]\xBE\xABqO\xD7\xEE\xBB\xB2\xBE\xDCݸ\xA7\xB2[yE\xA3\xDE4\xA4\xBE\xB6\xE9\xA5\xE7\xAAV/\xAC\xE9կ똓\xFE\xE1\x91\xFE\xBCf\xF9\x8F\x994t\xFC\xA9#:Z`(\xBB\xED\xB6\xDB
+\x9A`f43\xA7\xA4\xB1\xBEy\xC1\xD3k\xB6oy\xF5\x86\xBE\xE6\xA6=\x86\xF6j8Z[2\xF1*\xEFܱk\xD9܍/=\xB7\xA1\xA4\xA4\xE4m\xE7\x8FY\xB3\xA4&\xFE\xEAp\xE5\xFC\xEA\xA3'\xE9ѻ˒g\xD7'?\xD8\xF7\xB0\xBD\xF6\xC89\xB5\xF3\xE2\xD3k\xF6\xECn]\xBD\xB0f\xF1_\xD7\xE5\xFC\xB7j\xE1\xA6L&3\xF0\xF0\xDEq͡\xA3\xFAo\xABih\xA8m\xCAiL\xB7^\x95\xA7\xBEw\\xB7\xAC\x96\xA9\xDB\xD6X[\xD3EѦյK\xFF\xB6a\xEB\xA6\xFA\xB7]0\xB6m\xB6KV\xF9ř\xABw\xBC\xF2\xEA\xE6]\xBAW\xF4ؽ\xA4\xEC\xD5w\xAD-\xADM
+\xBBk\xD6\xD5\xCE\xFE\x{DCAD}\xD5
+\xC7Lrؑ}\xA2(j\xD9\xD3\xFA\xD2s\xB6$?XR\xF2JU]\xB2\xA6\xE5\x95e\xFD\x87\xF4\x8C\xCF\xE1m^\xB7}\xCD\xE2W\xA3gYyi\xEF\x81ݗ=_\x95LX٭\xBC\xDF\xE0Wk<\xA2\xF7\x9A%\x9Bw\xEFj\xA9Y\xBB\xBD\xAC\xBC\xA4G\xEF\xAE啥\xF19\xBFY\xBFZڲ\xBB\xB5\xB6\xA6a\xECɯ\xAF\xA9\xD1\xD4vWث\x993s#P%m/N\xCA\xEF\xF6\xE8\xF6\xEC?\x93\x9F\xF0k+\xE7G\xFD2Q\xF4\xF2s\x96ϫnjh\xEEٷ\xEB1\x93\x86\x8E\x9A0\xA4$\x8A\x96ϫ~q\xE6\xEA}\xBBN\x9Cz\xD4\xE0}۝aά\xB6o\xD99\xEFO\xABj\xD6tx{\xE0\xF8SG$wf2\x99\xB5K\xB6\xACZ\xB8\xA9\xB6\xA6\xA1eOk\x8F>]\x8E8f\xC0\xE8\xB7\x9E\x9E\xF64\xB7̟\xB9z\xDD\xCB[2-\x99!#\xFB\x8D?uD\xF2\xB4\xCFyV\xB9]\xEF\xFC\xD0\xC4>\xBB\xA7\x9C0^\xD3\xF45\xDB\xFE\xD8s\xF2ւ?\xAFY\xF6\xC2\xC6c\xB3\xCE`\xDD\xDDZP\xCB\x80\xC4\xED\xB7߾\xF7J\xAF\xD9׀\xD5)Z[3\xCF>\xF1\xD2\xF01\x83\x86\x8D\x90f\xA2hϮ=\xF5\xB5M\xCB_ظi\xCD\xF6\xF3\xAEzK'\xB6\xF0\xE0$`@\xD1
+
+X\xCB#\xCE2\xE7\xC9\xE5\xFD\xF7\xCCNWQ\x95DQE\x97\xF2~\x83{N:kԮ\xA6\xDDM\xB0\xBF|넯\xBEk?5\x85\xFDm\xE1uOvv\xE0\xF5j\xFF\x9E\xC1\xEAZӫ\xD0I888`
+~L÷\xEE\xFA\xFF\xFDv4%\xA5\xDF\xDE\xFF|}mSII4bܠ#\xC7\xEA;\xA8{e׊L&\xD3\xD4\xD0\\xB3n\xC7\xD2\xD9\xEB\xDE뤳\x8F\xED\xC4\x9C.\x8C.\xEC\xEC&\xC0E\xC1\xEB\xA4\xE8\xA4yѼ\x8D\xD1\xC6\xFDњ4N9\xFF\xB8\xBF>\xFER}m\xD3\xEAE\x9BW/ڜ\xFDVII4\xFA-G\x8C?uxg\xB5\xED\xA054:!\x9A\xD0٭\x807\x8A\x82\xAF\xC1\x8A\xA2\xA8)jz0z\xB03V˞\xD65\x8Bkֿ\xFCJ\xED\xE6\x9D\xCDM\xBBKKK{\xF4\xEDzؑ}\x8E\x9E0\xB8\xF7\x80\xEE\x9Dժ\x83\xD6\xD0h\xE8\xF4hzר\xFD\xA7Ni\xEC\xDF\xC74$\xE6G󟍞\xAD\x8E\xAA\x8B\x9B\x9C`H4dr4ٹ+\xD8w\xAC\xE2*gB4\xC1'7@[\xAF\xCB\xE7`\xCC,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0h\xC0Z\xB4h\xD1\xF4\xE9\xD3+**\xD2T\xBE馛z\xF5\xEAu\xD3M7\xED\xEFVu\xA27\xC2:\x9A\x9B\x9B\xBF\xF9\xCDo\x9Et\xD2Iݻw\xEFٳ\xE7\x99g\x9E\xF9\xDB\xDF\xFE6崋-\xFA\xF0\x87?\YY\xB9ך\x8D\xE6\xBE,\x9D}W\xF4^V\xD0\xF1\xEAH\xBF)\xBE.8\xFA\xED?\x85n*\xC6b?)\xE6\xB7KJJ
+\x9D\xE4\x99g\x9E\xF9җ\xBE\xF4\xEB_\xFF:^\\x9A\x85\xF6\xECٳ\xA1\xA1\xA1gϞuuu\x85.\xEE\xF5⍰\x8E\x9D\xAE\xA6\xA6\xE6\x9Cs\xCE)--\xFD\xE9Oڭ[\xB7\xAB\xAE\xBA\xEAW\xBF\xFAUE_\xFC\xE2?\xF7\xB9\xCF\xE5\x99p֬Yw\xDDu\xD7O<\x91r\xA3mw4\xD3/\xFD\xFA\xEB\xAF\xFF\xEEw\xBF{\xED\xB5\xD7~\xE1_\x88Kn\xB8\xE1\x86o}\xEB[\x9F\xFAԧ\xEE\xBC\xF3\xCEB׺\xE8\xDF=\xE59\xE0\xEC\xA7#ɬY\xB3
+=^EyG\xF0\x8E;\xEEH\xB9\xE8\x8E\xDASЦ\xF8\xBA\xE0\xE8\xB7?\xB7\xA9\x8B\xF4
+\xFA-\xC2"\xCF`\x95\x96\x96\xDE}\xF7ݛ7onmm\xCDd2٣\xFF\xD9\xD2Ҳnݺ[n\xB9%>8~\xE63\x9Fy\xF1\xC5:.|\xFAӟ\xEEѣǧ>\xF5\xA9\xE2Z\xF8\xBA\xF0FX\xC7\xCE\xD5\xDA\xDAz\xC1̝;\xF7\x8E;\xEE8ꨣ\xFC\xC3\xFE𨣎\x8A\xA2\xE8K_\xFAR\xFEi\xAF\xBB\xEE\xBA\xF9\xF3\xE7\xA7\xDFhێfAK\xBF\xF7\xDE{\xEB\xEB\xEB\xBF\xFAկ&%\xF7\xDCsO}}\xFD׾\xF6\xB5\xA8\xF0=\xEEP\x92\xC9d\xAA\xAA\xAA.\xBB첤\xE4}\xEF{ߪU\xAB\xF6\xECٓf\xF2"\xF6\xB2\xCF~\xF6\xB3\x85\xAF\xA2\xBD\x8Dྸ\xF6\xDAk\xE7͛wh䪄\xA3\xDF\xFEp\xCD5\xD7\xB1\xA9\x8B\xFD\xA4\xC83X\xFF\xFA\xAF\xFF\x9A}\x89\xB2\xFE\x95\x993\xC3O~\xF2\x93\xF7\xDE{o&\x93Y\xBE|\xF9\xB1\xC7\xDBn\x9D`\xFE\xFC\xF9'N\xDC\xDF\xCB=0K!\xBD\xFD\xE8G\xF1suu\xF5\xE0\xC1\x83\xE3\xC2g\x9F}\xF6\xC2/\xBC\xF0\xC2\xBF\xF3\x9D\xEF\xE4\x9F|7ڂ\x96޽{\xF7\xC6\xC6\xC6~\xFD\xFAmݺ5.\xE9ڵ\xEB\xAE]\xBB\xBAw\xEF\xBEs\xE7\xCE"\xF6\xB8B[{\xE0\xB4\xBF\xACY\xB3&ΦQmڴ\xE9\xB0\xC3ۏ-\x8B\xA2e˖\x8D=:~\x9D\xB2\x85yF\xB0\xA1\xA1\xE1\xC0\xB7\x877\xA6\xA5K\x97\x8E;6~\xFD\xBA\xDET\xCE\xCF\xD3q\xEB\xF2\xCB/OY\xF3\xA3\xFDh\xFCb\xF8\xF0\xE1\xC5-+\x88\xEF}\xEF{\x87\xCCRH\xEF\xC7?\xFEq\xFC\xA2w\xEF\xDEI\xE1\xE4ɓ\xAB\xAB\xAB\x{1DABA2}}\xDEhZ\xFA\x91GEQ\x92!\xA2(9rdEq\x92(b\x8F;\xF8\xB4\xBFq\xC4\xC9\xEB\x81\xEE\x87\xE6\xFC\x83#F:I\xFE<\xF0\xED\xE1\x8D)\xDE\xEA\x87\xC0\xE7i1\xEB\xFD\xEF\xFFq\xC7\x97\xB2\xF2\xB8q\xE3\xDE\xFF\xFE\xF7GQԉ׊\xAE]\xBB\xF6\xFB\xDF\xFF\xFE\xA1\xB1
+\xF2\xFC\xF3\xCF\xC7/\xBAt\xE9R\xC4\xE4\xFB\xB8\xD1\xB4\xF4c\x8E9&\x8A\xA2\xE4\x84YE\xF1^6jԨ\xE2\xF6\xB8\x83\\xA1\xFBKyyy\xF2\xBA\xB4t\xBFߝS\xC4\xD0\xE7\xC1NioL\x87\xC6m\x87\xC6\xE7i1ǩ\xFE\xF0\x87\xE9\xF7\xF6.]\xBA\xFC\xF0\x87?\x8C\x8A\xBA4>\x88\x96\x96\x96\x8F|\xE4#;w\xEE<\x96B\xA16m\xDA\xBF(\xEE#y7ڂ\x96>f̘\xA8\xBD\x8F\xE7\xB1c\xC7\xB7\xC7\xCC\xFE\xFD\xA5\x88\xA1\xCF3\x82\x9D\xD2ޘ\x81M\xE5\xE0?>\xA4t\x88?\xAB\xA5\xA5\xE5\xCA+\xAF|ꩧ\x81\xA5P\x84ݻw\xBF^\x96<'\xD7\xD9D\xAF}<\x8F7.x\xC3:ס\xBA\xBF\xBCqF\xF6\x9FC\xE9\xF8Й\xEB?\xF8\xC1	'\x9CPQQ1z\xF4\xE8\xFC\xE09\xEF.^\xBC\xF8\xF2\xCB/O\xCEv>\xF5\xD4S'\x9F|r׮]\x8F?\xFE\xF8\xEF\xFF\xFB\xCF?\xFF|\x9A\x9C~\xDAi\xA7\xFD\xCF\xFF\xFCO\xF2g\xC9k\x92\x8Bc\xA2(z\xF2\xC9'/\xBA\xE8\xA2\xC3?\xBC\xB2\xB2rРA\xE7\x9Dw^\xDB\xC7\xE5_z\x9A\xA5\xB4+\xC8:\xA6\x99\xB6\xE4\xED\xB5<\xF6\xF4\xD3OO\x9B6m\xE8С\x95\x95\x95Ç\xFF\xC4'>QSS\xD3\xEE\xD2\xD3\xD7\xDC\xF7\xDE.h};Zӂ\xFA!\xA5d4\xF3Ͽ\xA3\xC9;\xFAx>\xFE\xF8\xE3\x8BkO\xAC\xB6\xB6\xF6\x96[n\x998qbϞ=\xCB\xCB\xCB|\xEE\xB9\xE7>\xFE\xF8\xE39Ֆ.]z\xC5Wt\xED\xDA5\x8A\xA2\xBA\xBA\xBA\x8F}\xECc}\xFA\xF4<xp\xF6Y\xFA9s\xE6\xBC\xEF}\xEFK\xC6\xEE\xDCs\xCF\xFD\xF5\xAF\xDD\xEEB\xF3\x8Fr\xD1\xFBKqr\xF6\xB2\xA5K\x97~\xF4\xA3M\xBE\xB4\xFD\xC9O~2iҤ\xCA\xCA\xCAc\x8E9&\xBBU\x992eJG[K\xD1#\x98r\x8C\xB2\xEDܹ\xF3\xD6[o=\xFA\xE8\xA3+++G\x8Ey\xED\xB5\xD7nٲ\xA5ݚ\xEBׯ\xBF\xF1\xC6Ǐ߭[\xB7.]\xBA{\xEC\xB1W]u\xD5…\x93
+K\x97.\xCDY\xA3\xA9S\xA7f\xCF\xE1w\xBF\xFB]\xF6\xBBɴi\xF6\xE5<\xFDb\xE9\x8FB\x9D\xDB'i\xF6\xB5\xF4}\xBBq\xE3\xC6뮻\xEE\xB8㎋k~\xFC\xE3߱cGA\xFD\x85\xDEGbElձ\xFCLJ\xBD\xF6^\xFA#^\xCAu\xCC\xD92S\xAE\xFE\xAB2\x81\xA4\x99av\x9DO~\xF2\x939-\x89\x9F:\x93\xC9d\x9Ey\xE6\x99\xF3\xCF?\xBF$\xEB&\xA9\x993g\x96\x97\x97_u\xD5U\xB5\xB5\xB5\xD5\xD5\xD5W^yeA\x8D\xEF\xA8mMMM\xFC\xE0/\xB9䒹s\xE7\xEEڵk\xFD\xFA\xF5w\xDEyg<r\xD7\sMR-\xE5\xD2\xEAҰ\xEB\xB8\xD7iw\xED\xDA\xF5\xF5\xAF\xBDm\xEB\xEA\xEA\xBE򕯴-oii\xB9\xE6\x9Ak;\xEC\xB0G}\xB4\xBE\xBE~\xF3\xE6\xCD\xEFy\xCF{\xA2(6l\xD8\xEAի\xB3\x9D\xBEf\xC0\xDEN\xDFW9\xABVh?\xB4\x9DC\xBBڎf\xFAi\x9B7o\x8E\xA2\xE8\x95W^\xC9)\xA9\xA9\xA9i\xB7~\x9A\x99/_\xBE<\xBE\xF2\xFA\xFA믯\xAF\xAF_\xB1b\xC5I'\x9DO\xF5\x9D\xEF|'\xAE3k֬.\xB8 i|]]\xDD[\xDF\xFA\xD6d\xE6\xBDz\xF5\x8A\xAB\xDD{\xEF\xBDeeeGqij\xCF>\xBBs\xE7\xCEo~\xF3\x9B9\x9FȤ\xE5B;\xA7\xB8Ir\xC6%\xE7\xCF\xD6\xD6֏\xFC\xE3\xD1?\xFAկ~\x95qq\xFFL\x9C8\xF1\xFE\xFB\xEF_\xB9reSSS\xF2V\xA1#K3F9\xEDY\xBF~}۳bGq\xC4…sf\xFE\xE0\x83\xF6\xE8\xD1\xE3\xEC\xB3Ϟ={vcc\xE3ҥK?\xF2\x91\x8FDQTVV\xF6\xFF\xF1q\x9D\xD6\xD6\xD6ٳgO\x9E<9\x9E\xCF<\xB0u\xEB֜\xF9l߾}\xF2\xE4ɗ\rɦM\x9B2\x85\x8Cr\x9Aq\xC9\xEC\xF3>\xFDQ\xA8s\xFB$;VP\xDF>\xF9\xE4\x93}\xFB\xF66l\xD8/\xF9˝;w\xAE\\xB9\xF2ꫯN\x9A\x9D\xA6\xF7q\xE9H\xFA\xAD\xBA#mW!M\xEF\xA5YnA\xEB\xD8v˼\xAD\x9D\xB0n\xB8ᆛo\xBEy\xE3ƍ555\xEF}\xEF{\xE3\xC2w\xBD\xEB]q\xB57\xBF\xF9\xCD\xD9we2\x99\xD3O?=\x8A\xA2\xFA\xFA\xFA\xB8Bkk\xEB[\xDE\xF2\x96\xF4\xBB_Gm\xBB\xFC\xF2˯\xB8⊜\xC2$\xBD>\xF4\xD0CqIʥ\xA7ߦ\x83\xAFc\x9Ai\x9B\x9A\x9A\xDAma\xF6\xF7\xDCI\xE1\xF5\xD7__ZZ\xFA\xEC\xB3\xCF&%+V\xAC\x88\xEB\xBC\xFB\xDD\xEFΞ<}̀\xBD\x9D\xBE\xAFڮZA\xFD\xD0\xEE\xDAj;\x9A\xE9\xA7-Z\x9A\x99\x9Fq\xC6Q\x95\x95\x95577\xC7%3gΌ\xA7=zt\2a„\xA1C\x87&s\x9B>}\xFA\xB7\xBF\xFD\xEDM\x9B6}\xE2\x9F\xE8ٳ\xE7UW]\x95\xC9d\xFE\xF0\x87?\xC4ǣ\x9F\xFC\xE4'\xC9\xCC?\xF4\xA1œ|\xEB[\xDFJ
+S\x8Er\xCA\xF6\xB1\xCA\xD9r\xC6%\xE7\xCF믿\xFE\xDAk\xAF]\xBBvmmm\xED\xBF\xFC˿ą\xA7\x9DvZ\x9Eŵ\xB4\xB4|\xE1_\xB8\xE6\x9Ak\xF6\xECٓ\xBE\xD9\xF9\xA5\xA3\x9C\xF6\x9C|\xF2\xC9_\xFB\xDAת\xAB\xAB\xEB\xEA\xEA~\xF8\xE1A\x83\xC5\xE5\xA3F\x8D\xAA\xAB\xABK\xEA\xFF\xECg?+))\x998qb2\xE7X\xF2qr\xD7]w%\x856l\x88\xAF\xF3k;|\xB1s\xCE9'I\x93\xE9G\xB9]\xC1\x8F\xF0\xE9\x8FB\x9D\xDB'i\xF6\xB5\xF4};w\xEEܮ]\xBB\xF6\xEE\xDD{ٲeٕ?\xFC\xE1\xA7\xDFS\xF6q\xE9H\xFA\xAD\xBA#mW!M\xEF\xA5YnA\xEB\xD8v\xCB|\xACx )\\xB2dI\8dȐ\xA4\xF0\xA5\x97^ʞa\xB7nݢ(Z\xBE|yR\xE1\xBE\xFB\xEEK\xBF\xFB\xB5۶Y\xB3fEQ\xD4\xF6\xDF7\xB5\xB5\xB5q\xE5SN9%.I\xB9\xF4\xF4\xDBt,\xE0:\xEEcs\xCA\xE3{\xDF\xCE=\xF7ܜj\xF1F٭[\xB7\xA4$}Ͱ\xBD\x9D\xBE\xAF\xDA]\xE5\x94\xFD\x90\xBFr\x8E\x9C\xD1,h\xDA⤙y\xDCQ\x95\x95\x95I\xC9\xF6\xED\xDB㩺v\xED\x9A\xBE\xFC\xF2\xCB\xC9\xDCn\xBE\xF9\xE6\xB6\xF3y\xC7;\xDE\xBF\xBBe˖\xA4\xF0\xF8C\8iҤ\xB8$\xFD(\xA7l\xAB\x9C#g\\xB2\xD7\xF4\xFE\xFB\xEFO\xAA%_\xF1\xF4\xE9ӧ\xA3\xC5\xD5\xD5\xD5]x\xE1\x85\xF7\xDCsO\xFA\xA5\xA7\x91r\x8C\xB2\xDB?5\xBB\xF1ݻw\x8F\xDF\xFA\xAF\xFF\xFA\xAF\xB8p۶m\x88\xA2\xE8\xE1\x87\xCEYb}}\xFD\x90!C\xA2(*//_\xBCxqR\xDF|ڽ{\xF7\xB6\xA7\xDC,Xp\xDBm\xB7ů\xE5\x8E<\xFA\xA5?
+}\x92_K?\x9Fݻw\xC77O|\xFE\xF3\x9Fϩ<gΜ\x82\xF6\x94}\xD9G:\x92~\xAB\xEEH\xBB\xAB\xB0\xD7#UG\xBC\xFC\xEB\xD8v\xCB|\xAC\xEC\xC2\xE4\xCCAv\xA7\xE4\x9Cf\xE8ѣGE\xEF|\xE7;\x93\xD3\xEFk֬I\xB9\xF5t\xB4ܽ>X\xA8G\x8Fq͔K/h\x9B\xBB\x8E\xFB\xD8œ\xF2+\xAE\xB8"\x8A\xA2/\xF9\xCB9\xD5f͚ս{\xF7~\xF0\x83II\xFA\x9Aa{;}_\xB5\xBB\xCA)\xFB!\xE5\xED\x9E+t\x93(H\x9A\x99\xE2\x9F\xE8֭\xDB\xC7>\x{1B1924}\xB5\xB5\xB5턻v\xEDJ
+w\xED\xDA\xD5v>={\xF6\x8C\xDFmiiI
+_y啸09r\xA5\xE5\x94\xED/b\x95s\xE4\x8CK\xF6\x9A\xB6[\xAD\xB4\xB4\xB4\xDDŭ[\xB7\xEE\xD4SOM.c(\xE5e\xF2\xAE~\xF2\xB3K\xA7\x9Ezj\\x92\xFCT\xC0ڵk\xF3Կ\xF2\xCA+\x93\xC2\xE4\x83\xF9_\xF8B\xDBFnܸ1~]\xD0(w$\xE0\xD1/\xFDQ\xE8`\xE8\x93\xFC\xFBZ\xFA\xF9<\xF4\xD0Cq\xC9\xF3\xCF?\x9F3\x93\x8EN\xD2wd_\x{1913A4}ߪ;\xD2n\xE5\xBD\xA9\x8A8\xE2\xE5_Ƕ[\xE6\xEB,`\xB5\xBB\xFE9\x85\xE7\x9E{n\xFC\xBAo߾\xB7\xDEzk\xF6UE\xB7-\xBE\x9B\xBA\xB1\xB1q\xAF\x93\xA7\zA[O&\xE8:\xEEcs\xCA\xE3\xC7\xF9\xDCw\xDF}{]n\xFA\x9Aa{;}_\xB5\xBB\xCA)\xFB!\xE5\xEDnƅn)t\xE6k֬\xF9\xE2\xBF\x98}\xC1u\xF2\xD6^\x8F}\xF1?\xE3\xA2(\xAA\xAD\xADM
+\x93_\xAA\xE9ٳg\\x92~\x94\x8Bhq\x93\xE4\xACZ\x9E5\xCD3|s\xE6\xCC:t護ޚ~\xB9\xC5\xC93F\xED\xB60\x91\xE4\x80\xF8J\xB8L&\x93\z\xB2{\xF7\xEE\xB6\xF5\x93[\xB4F\x8D\x95]~\xDAi\xA7EQ4dȐ\xECO\xAF\xAD[\xB7fiU\xD0(w$\xE0\xD1/\xFDQ\xE8`\xE8\x93\xFC\xFBZ\xFA\xF9\x9Cs\xCE9\xF1L\xB2\xBFN\xB4\xA7\xEC\xCB>\x92F\xFE\xAD\xBA#\xEDV.(\xA5w\xC4\xCB)o\xBBe\xB0:\xFF1
+\xED\xDE*\x92Sx\xCF=\xF7\xC4O\xA7\xAD\xAD\xAD\xBD\xFD\xF6\xDBG\x8Cq\xCB-\xB7d\xE7\xEE"TUU%\xFF\xCFo,=
+\xBA\x8Ea[\xB8aÆ(\x8A\x92\x9F\xFBR3lo\xEF\xA7\xD9E\xDF{x\xFC\xEEw\xBF;\xFB\xEC\xB3'M\x9ATSS\xF3\xF0\xC3\xB7\xAD\xB0\xD7\xC6'\x93\xBE\xF8\xE2\x8BIar\xEE=y7\xFD(09\xABV\xDC0\xDDx\xE3\x8D7n\xBC\xE3\x8E;\xFE\xF4\xA7?\x85iV{\xA3\xFC\x92[\x93AY\xB4hQ\xFC\xA2\xA5\xA5\xA5m\xFD\xE4Sg\xFD\xFA\xF5\xD9\xE5\xD7^{mE\xD5\xD5Տ<\xF2HRx\xFF\xFD\xF7g\xFF<@\x90Qx\xF4K:\xFA$\xFF\x98~>I\xA4\x8E\xAF\xDFA\xF6\x91v\xED\xE3V\xDDVʶ\xED\xFB/\xD1v\xCBL\xDF\xDA(
+\xF7o\xEB43\xEC\xA8N\xBB\xE59\x85۷o\xBF\xEE\xBA\xEB\xB27\xA6I\x93&\xB5\xBD\xB3#\xFDr\xE3[R\xFF\xFB\xBF\xFF;\xCD\xD2,\xBD\x88.
+\xB8\x8E\xFB\xD2œ\xF2x&\pA\xBBZ\xB4h\xD1\xF1\xC7_h\xCDཝ\xB2\xAF\xD2lZ\xC5Un\xABm\xCD"6\x89\xF4\xD2\xCC|ɒ%S\xA6L)--\xFD\xDC\xE7>\x97\xFCK\xB7\x88\xD5\xFC\xCDo~\xBF\x9B\xFD\xAF\xF6\xC7{,.\xFC\xCDo~\x974\xCAEtNq\xFD\x993U\xFA\xD1OJjjj\xE2\x83l\xFF\xFE\xFD_~\xF9傖\xBEWA\xC6(y\xE2Z\xFF\xFE\xFD\xE3\x92\xE4\xFE\xF3\xF5\xEB׷\xAD\x9F|E\x92s=MKKK\xFC\xDC\xF9	&$%\x97\rIv\x9D\x82F9\x8F\x9C\xD5)\xFA\xE8\x97\xFE(t\x90\xF4I\x9EqL?\x9F\xE4\xC9\xC3\xF1=\x8C\xE9\x91\xA6I\xE9\x{1D13A4}ߪS6)e\xF6}oj[\x9E\xB3e\xBEξ"쨼\xDDª\xAA\xAAO}\xEAS\xC9\xE3:>\xFC\xE1ݶaÆEQ4~\xFC\xF8\x9C\xDBIb\xF3\xE6͋f2\xFD\xD2ݦ;\x9A\xA4\xB8uܗ\xE6\x94\xC7?\xA6VYY\xD9\xEE\x95
+7\xDDt\xD3駟^h\xCDཝ\xB2\xCE>\xEEZy*\xB7նf\x9BDz{\x9D\xF9\xECٳ{\xF5\xEAE\xD1׿\xFE\xF5\xBDN\xB8׹}\xE3ߨ\xA8\xA8(--\xFD\xF6\xB7\xBF\xDD\xD8\xD88gΜx\xF4\x93;\xDB3\x8Er\xA8\xFD\xA5\xAD^x!ςҏ~v\xC9\xE2ŋ\xFB\xF4\xE9Eѱ\xC7[\xE8%
+y\x84\xA3\xE4!Xg\x9CqF\\x92\xFC\xB6\xD2O<Ѷ~ccc\xFCn\xDB;’\xE7\x98<\xF5\xD4S\x99L旿\xFC\xE5\x83>\x98]\xA1\x88}\xB9]\xED\xAENG\xBF\xF4G\xA1\x83\xA4O\xF2\x8Cc\xFA\xF9\xC4W\xEBGY\x8F7\xCAV\xE8\xCEU\xF4>Ү\x82\xB6\xEA\x94MJ3\x93 {SG\xE5ɖy\xAC\xE8o\xACX\xBCx\xF1	'\x9CEQ\xEF޽\x8Bn\xDB\xC5_^q\xC5ٗ\xEE\xC6.\xBD\xF4ҩS\xA7&\x93\xA7Yz\xA1\xDBt\xC0uL9mYYY\xBC\xB8\x9C\xCB\x93f\xC4{\xF5e\x97]\xFFy\xF6\xD9g\xE7܎\xBEu\xEB\xD6\xFE\xFD\xFB\xDFq\xC7\xF1\x9F\xE9k\x86\xED\xED\xF4}\xD5\xEC\x87<shWۚEl\xE9\xEDu槜rJ\\xA1\xA1\xA1a\xAF\xEEun۶m;\xF3\xCC3\xCF;\xEF\xBC#\x8F<\xB2\xA2\xA2bРA\xE7\x9F~\xFCy\x93H?\xCAi\x96\xD8V\xCAI\xAE\xBE\xFA\xEA\x9Bn\xBA\xA9\xA3\xA9:\x9A\xC9^\x87oƌ\xF1\xEF!N\x9D:\xB5\xDDϿ"\x84\xA3?\xFE\xF1\x8F\xF1[\xDF\xFB\xDE\xF7\xE2\x92O\xFA\xD3qI\xF6\xBF\x89\xB5k\xD7\xC6\xEF\xE6|e2\x99\xBA\xBA\xBA8J\xC6\xF7\xE5]v\xD9e9\xBBIA\xA3\x9CG\xF6\xEAD\xFBp\xF4K:H\xFA$\xCF8\xA6\x9Fϙg\x9E׼\xF8\xE2\x8B\xDB\xCE'YD\xCA
+\xB5\xE8}\xA4]m\xD5)\x9B\x94f&A\xF6\xA6\xB6]\x91\xB3evB\xC0\xCA\xFEI\x90\x8E\x9E\x93\xFD\xB5wkkk\xBB\xAB\x94lR\xC9\xF5\xB3q\xE5\xA8\xCDM"\xF1\x9D\xA5\xC9յ\xF9e?\x9A,)\xFC\xDF\xFF\xFD\xDFd\xA7\x9F~\xFA\x8C3\xEA\xEA\xEA\xE6͛\xEF\x87\xC9\xD3}R.\xBDݥ\xE4pSN\x9B</gѢEIa|;t,~\x9Eʌ3\x92\x92\xB3\xCE:k֬Y\x8D\x8D\x8D;v\xEC\x981cƔ)S\xCA\xCB˓)\xA6\xAF\xB6\xB7S\xAEovgo\x96)\xFB!\xD3f\x8C\xF2Aۚ-=\x884{\\xF2\x85Ȋ+\x92\xC2\xE4\xE7\xA3\xACK}\xB3/\xF9l{X\xCFd26l3fLۛ\xDBs\xA4\xE5L\xE1\xFBK\xF6*究z\xF5\xEA.]\xBA̛7/\xFE3g\\xB2g\x92\xFF(\xD4\xEEv\xCB\xCB.0IDAT\xD0\xF7\xBBߍK.\xBF\xFC\xF24mޫ\xF4c\x94\xC9\xFB\xD1\xF2\xB1\x8F},\x8A\xA2q\xE3\xC6%\xFC˗/\x8FgޫW\xAF\xEC\x87k\xC4}\xF4\xD1(\x8A\xBCcǎ\xB6s\xBB\xEE\xBA\xEB\xA2(*))\xF9\xC5/~\xD1\xF6)\x8DrG\xFD\xD2\x85\x86>ɿ\xAF\xA5\x9F\xCF\xFD\xF7ߟ\xD4\xFCя~\x94=\x93\xA7\x9F~:y+\xCD7\xDAE\xEF#)h\xAB\xEEH\xBBLJ\xFC\xBD\x97~\xB9\xE9ױ\xED\x96\xD9	+\xBE\xA56\xD6\xEEy\xDA\xCCk5\x8Em߾=)onnNʓg\x8Dlܸ1)\x8C\xCF~0 {\xCE\xF1%\x8D\xE7\x9F~\x9A\xE6%\xA8w\xDF}w}}\xFD\x97\xBF\xFC\xE5\xF8\xA4\xF1?\xFF\xF3?G=zt\xF2\xB9\x94K\xEFh)	\xB8\x8E)\xA7=묳\xE2\xC5]p\xC1\x9B6m\xAA\xAA\xAA\xFA\xECg?{\xF3\xCD7'\xCD1b\xC4\xC9'\x9F\x9C\xC9\xFA\x87T[\xD7^{m\xF6<\xD3\xD7\xD8\xDB)׷\xA3\xCD2}?d\x8F\xD1\xE6͛\xF3A\xCEh\xE6Yzif?\xD18\x8A\xA23\xCE8c\xEDڵ[\xB7n\xFD\xE67\xBF9y\xF2\xE4\xE4ȵhѢ\xDBn\xBB-\x93\xC9d\xFF\xB6F\xBB\xAB\xF9O\xFF\xF4OQ=\xF3\xCC3{mX\xCAQ\xCE\xBE\xBFd\xAFrG\x99l\xE7ΝS\xA6L9\xEE\xB8㒒\x9CqY\xB7n]\xF2g\xF6\x91\xD9\xD7S\xC7\xB5TWW'%\xD9\xDF	~\x{1B37CD}\xEF\xBC\xF3ν\xF6\xC6^\xA5\xA3L֡\xE5ʕ\xD93\x99={vEEŐ!C^z\xE9\xA5\xEC\xF2\xAF~\xF5\xABq\xFD\xCB.\xBB,\xBB\xBC\xA5\xA5\xE5\xD4SO-))y\xFC\xF1\xC7\xDBm\xD5\xEAի㳼}\xFA\xF4ٰaC\xDB
+\xE9G\xB9#a\x8F\xF0\xE9\x8FB\x9D\xDE'{\xDD\xD7RΧ\xB9\xB99\xB9\xB9\xA4\xAC\xAC\xEC\x86nX\xBDzuCCÃ>\x98\x9C܊\xA2hĈ'\x9Exb\xFE\xDE+z\xE9HA[uG\xDA=>\xE4\xEF\xBD\xF4\xCBM\xBF\x8EQ\x9B-\xF3@\xAC\xAA\xAA\xAA\xE4$mE\xFAЇ\x92\xA7\x83$jkk\x93SE\xFF\xFE\xEF\xFF\xBEs\xE7\xCE\xF8\xAD\xEC\xDFt\xFC\xB7\xFB\xB7\xC6\xC6Ʀ\xA6\xA6\x9Bn\xBA))\xBC\xE5\x96[\xE2Ç\xFF\xC5/~\xD1\xD0аq\xE3\xC6iӦ
+80\xE7\x80ґ\xF8A)\x89~\xFD\xFA-Y\xB2$\x93\xC9\xECر\xE3]\xEFzW\xD4ƑGW\x88\xA5\zGKiW\xD8uL9\xEDO<\x91\xB3\xA6\xF1\xD1'~]RRr\xDEy\xE7\xFD\xF9\xCF\xCEd2\xF5\xF5\xF5\xEF~\xF7\xBB\xDB\xF6̴i\xD3r΍\xA7\xAF\xB0\xB7\xD3\xD4Y\xB9re\xF6\xA1ꪫ\xAEJ>\x95S\xF6Ccc\xE3\x8D7ޘԹ\xF9\xE6\x9B;\xBA}\xBA\xEDh.]\xBA\xB4\xA3\xA5\xEF\xBB4{\&\xEB\xA9?\x89\xF3\xCE;o۶m\x87~x\xFCgYY\xD9O\xFAӺ\xBA\xBAn\xB8!\xA9\xF3\xC8#\x8F\xB4=W?\x83\xB1]Æ
+\xFB\xCF\xFF\xFCϤf\xCAQ\xCE\xB8\xBFTUU%Y\x8E\xA2\xE8\xEE\xBBﮫ\xABK\xDA\xFF\xA2\xC8c\x8F=6q\xE2\xC4(\xEBы9\xE3r\xD3M7e\x85\xBE\xF8\xC5/&W\xFF\xF7\xFF\x97=|\x9B7o\xCE\xFA\xBB\xEE\xBA+\xA9\xD9\xD8\xD8_\xF4SRRr\xE7\x9Dw\xAE_\xBF>\xFF\xBF\xE6\xF3K9Fq\xE5~\xF0\x83\xA5\xA5\xA5Q\xF5\xEF\xDF\xFF\x9E{\xAAjhhx\xE4\x91G\xFA\xF7\xEF\xDAi\xA7\xADY\xB3\xA6\xED\xFCo\xBB\xED\xB6x\x92iӦ-^\xBC\xB8\xB9\xB9y\xF1\xE2\xC5^xa\xAF^\xBD~\xFC\xE3\xE7iشiӢ(\xBA\xF4\xD2K\xDB}7\xFD(\xB7+\xF8>\xFDQ\xA8s\xFB$;\x96\xBEo\xAB\xAA\xAA&L\x98\x90Sm\xE0\xC0\x81˖-\x8B_\x97\x94\x94\x9C{\xEE\xB9\xF1!\xBD#E\xEF#y\x9E%Q\xD0Vݑ\xB6LJ\xB9s\xE7\xE6t\xCBmjj\xCA޻\xF3\xAFc\xFC:{\xCB<\xA0\xAB\xEDv\x90\xD8k\xB5\xBD\xCE!ۂx\xE0\x81\xB7\xBF\xFD\xED]\xBBv\xEDׯ\xDF\xFB\xDF\xFF\xFEv(\x{DAAB}\xAB\xBB\xF2\xCA+\xFB\xF5\xEB׳gϋ/\xBE8\xFB\xA9\xAC---=\xF4\xD0ԩS\xFB\xF4\xE9ӥK\x97\xE3\x8E;\xEE\xC6o\xCC9{\x9Cr\xE9y\x96\x92\xB2ߊ^\xC7\xF4\xD3>\xFC\xF0\xC3\xC7sLyy\xF9\xB8q\xE3\xBE\xFF\xFD\xEFDžӧO\xCF\xF9!\xB3\xD6\xD6\xD6\xFC\xE0S\xA6L\xE9ٳg\x8F=\xA6L\x99\xF2\xC8#\x8F\xB4\xBB\xF4\xF45C\xF5\xF6^\xEB\xECu\xB3L\xD3{ݪ\xD3,.\xCD\xE4I?\xF3\xD6\xD6֯|\xE5+#F\x8C\xA8\xAC\xAC<\xFE\xF8\xE3\xBF\xFD\xEDo\xC7ǣ{キ[\xB7n'\x9Cp\xC2\xEF\xFF\xFB\x94\xAB\xB9`\xC1\x82\xE4a\xEE\xED\xFAҗ\xBE\x94TN3ʙB\xF6\x97\xF4\xDD\xCB?\x82\xED\xAEi\xFA\x9Ao\xFB\xDB;z\xAB)\xC7(\xB1bŊ\xCF\xFE\xF3\xA7\x9CrJ\xBF~\xFD***?\xFC\xF0\x8B.\xBA\xE8\xF1\xC7\xCF\xF3\xFD\xF5\x9C9s\xA6O\x9F>|\xF8\xF0\xF2\xF2\xF2nݺM\x980\xE1s\x9F\xFB\UUU\xFE\x86\xFD\xE5/\x89\xA2h֬YUH9\xCA\xEDj\xB7{\xF7\xE5\x9F)\xE4(\x94\xE9\xBC>ɳ]4\x9FDcc\xE3]w\xDD5~\xFC\xF8\xAE]\xBB\xF6\xED\xDBwڴi\xF1~T^^\xFE\x81|`\xC1\x82\xF9ר\xA3&\xA5\xDCG:\x9Ag\xA1[u\xBB\xDA\xF6\xDA{\xFB~\xC4K\xB3e\xB0JRv1\xF0\x86\xB5gϞK/\xBD\xF4\xD2K/\xCD\xFE.&\x93\xC9\xECرcŊ\xDF\xF8\xC67f̘\x91\xF3\xF4 \x80C\xCF\xED\xB7ߞ\xBE\xB2\x80\xEC\xC5\xF4\xE9\xD3nj\x93\xFC\x96H\x8E\x9D;w0 9\x9Dp\xA8*(`\x95\xEF\xBFv\x87\x80\xFB\xEE\xBBJ\xDEֲe˲\x8F\x80(\x8A:\xFF\xA7r\x80\x83٭\xB7\xDEEQ\xF2\xA4\xA5
+
+
+W_}\xF5g>\xF3\x99\xDB(\x80\x83\x9D\x80\xE4\xFF\x9E\xFCE]t\xF9\xE5\x97?\xF9\xE4\x93\xD5\xD5ջw\xEF޵kתU\xABx\xE0\x81O<\xF1\xB8\xE3\x8E\xFB\xC0>\xD0\xD9\xCD8\xB8\xB8\xC8\xE7\xC5_\xBC袋ڽ\x8B\xA7\xAC\xAC\xEC\xFA믿\xE3\x8E;\xE2\xFB\xDEm\xAE\xC1\x82yӛ޴`\xC1\x82|\xF0\xE7?\xFF\xF9\xBCy\xF3\xB6n\xDDZYY9jԨ3\xCF<\xF3ꫯ;vlg7\xE0`\xE4\xC0\xDEtˉ}\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0,\x80\xC0J2\x99Lg\xB7\xE0`7s\xE6\xCC\xF4\x95\x9D\xC1L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0L\xC0\xAC\xFC\xF6\xDBo\xEF\xEC6\xE4\x9A:ujg7\xE0\x9C~\xFA\xE9\xE9+;\x83\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\x98\x80\xD8\xFF\x88\x9CL#_
+\xD2IEND\xAEB`\x82
\ No newline at end of file

Added: trunk/LayoutTests/platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.txt (0 => 133085)


--- trunk/LayoutTests/platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.txt	2012-10-31 22:27:49 UTC (rev 133085)
@@ -0,0 +1,2 @@
+Target Link.
+This test is successful if "Target Link" above is covered in a transparent green rectangle with rounded corners.

Modified: trunk/Source/WebKit/chromium/ChangeLog (133084 => 133085)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-10-31 22:22:07 UTC (rev 133084)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-10-31 22:27:49 UTC (rev 133085)
@@ -1,3 +1,22 @@
+2012-10-31  Tien-Ren Chen  <[email protected]>
+
+        Apply transformation for highlights on non-composited contents
+        https://bugs.webkit.org/show_bug.cgi?id=100438
+
+        Reviewed by Adam Barth.
+
+        Non-composited content host layer "steals" the contents on the
+        RenderView layer, including the highlight layer.
+        The transformation for regular contents are applied by the paint
+        function of the non-composited content host however the highlight
+        uses its own WebLayer. Need to apply the same transformation to
+        the highlight layer as well.
+
+        * src/LinkHighlight.cpp:
+        (WebKit::LinkHighlight::computeEnclosingCompositingLayer):
+        * src/LinkHighlight.h:
+        (LinkHighlight):
+
 2012-10-31  Mike West  <[email protected]>
 
         Prefer document->addConsoleMessage to document->domWindow->console->addMessage.

Modified: trunk/Source/WebKit/chromium/src/LinkHighlight.cpp (133084 => 133085)


--- trunk/Source/WebKit/chromium/src/LinkHighlight.cpp	2012-10-31 22:22:07 UTC (rev 133084)
+++ trunk/Source/WebKit/chromium/src/LinkHighlight.cpp	2012-10-31 22:27:49 UTC (rev 133085)
@@ -48,6 +48,7 @@
 #include <public/WebFloatPoint.h>
 #include <public/WebRect.h>
 #include <public/WebSize.h>
+#include <public/WebTransformationMatrix.h>
 
 using namespace WebCore;
 
@@ -125,10 +126,10 @@
     if (!renderLayer || !renderLayer->isComposited())
         return 0;
 
-    m_graphicsLayerOffset = FloatPoint();
     GraphicsLayerChromium* newGraphicsLayer = static_cast<GraphicsLayerChromium*>(renderLayer->backing()->graphicsLayer());
+    m_clipLayer->setSublayerTransform(WebTransformationMatrix());
     if (!newGraphicsLayer->drawsContent()) {
-        m_graphicsLayerOffset = newGraphicsLayer->position();
+        m_clipLayer->setSublayerTransform(WebTransformationMatrix(newGraphicsLayer->transform()));
         newGraphicsLayer = static_cast<GraphicsLayerChromium*>(m_owningWebViewImpl->nonCompositedContentHost()->topLevelRootLayer());
     }
 

Modified: trunk/Source/WebKit/chromium/src/LinkHighlight.h (133084 => 133085)


--- trunk/Source/WebKit/chromium/src/LinkHighlight.h	2012-10-31 22:22:07 UTC (rev 133084)
+++ trunk/Source/WebKit/chromium/src/LinkHighlight.h	2012-10-31 22:27:49 UTC (rev 133085)
@@ -91,7 +91,6 @@
 
     bool m_geometryNeedsUpdate;
     bool m_isAnimating;
-    WebCore::FloatPoint m_graphicsLayerOffset;
 };
 
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to