Touch adjustment forgets some subtarget quads.
[WebKit-https.git] / LayoutTests / touchadjustment / block-testing.html
1 <html>
2 <head>
3     <script src="../fast/js/resources/js-test-pre.js"></script>
4     <style>
5         #div1 { position: absolute; left: 50px; top: 50px; width: 200px; height: 50px;}
6         #div2 { position: absolute; left: 50px; top: 100px; width: 200px; height: 50px;}
7     </style>
8 </head>
9 <body onload="runTests()">
10
11 <div id=div1 onclick=doSomething>
12 Some text.
13 </div>
14
15 <div id=div2>
16 Some text. <a id=a1 href="#1">A link</a>
17 </div>
18
19 <p id='description'></p>
20 <div id='console'></div>
21
22 <script>
23     function doSomething() {
24         // Do something!
25     }
26
27     function testRoundTouch(x, y, radius)
28     {
29         var x = x - radius;
30         var y = y - radius;
31         var width = radius * 2;
32         var height = radius * 2;
33         var adjustedNode = internals.touchNodeAdjustedToBestClickableNode(x, y, width, height, document);
34         if (adjustedNode.nodeType == 3) // TEXT node
35             adjustedNode = adjustedNode.parentNode;
36         return adjustedNode;
37     }
38     function testDirectTouches()
39     {
40         adjustedNode = testRoundTouch(200, 90, 200);
41         shouldBeEqualToString('adjustedNode.id', 'div1');
42
43     }
44     function runTests()
45     {
46         if (window.layoutTestController && window.internals && internals.touchNodeAdjustedToBestClickableNode) {
47             description('Test touch-adjustment on a block where we also touch the inner text and outside link.');
48             layoutTestController.dumpAsText();
49             layoutTestController.waitUntilDone();
50             testDirectTouches();
51             isSuccessfullyParsed();
52             layoutTestController.notifyDone();
53         }
54     }
55 </script>
56 </body>
57 </html>