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 ' )tEXtchecksum 76fea1ec1f21990db878db810b17ee72\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\xAF oL @` @` @` @` @` @` @` @` @` @` @` @` @` @`\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\xFEh P1\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\x9B t\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\xC43FJW pP9\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\xCD r\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ӫ\xD0I88 8`
+~L÷\xEE\xFA\xFF\xFDv4%\xA5\xDF\xDE\xFF|}mSII4bܠ#\xC7\xEA;\xA8{eL&\xD3\xD4\xD0\\xB3n\xC7\xD2\xD9\xEB\xDE뤳\x8F\xED\xC4\x9C.\x8C.\xEC\xEC&