[iOS] Unreviewed gardening.
[WebKit-https.git] / LayoutTests / fast / events / touch / ios / content-observation / hover-when-style-change-is-async.html
1 <!DOCTYPE html><!-- webkit-test-runner [ useFlexibleViewport=true ] -->
2 <html>
3 <head>
4 <title>This test that we trigger hover when the content change is async.</title>
5 <script src="../../../../../resources/basic-gestures.js"></script>
6 <style>
7 #tapthis {
8     width: 400px;
9     height: 400px;
10     border: 1px solid green;
11 }
12
13 #hiddenFirst {
14     visibility: hidden;
15     width: 100px;
16     height: 100px;
17     background-color: green;
18 }
19 </style>
20 <script>
21 async function test() {
22     if (!window.testRunner || !testRunner.runUIScript)
23         return;
24     if (window.internals)
25         internals.settings.setContentChangeObserverEnabled(true);
26
27     testRunner.dumpAsText();
28     testRunner.waitUntilDone();
29
30     let rect = tapthis.getBoundingClientRect();
31     let x = rect.left + rect.width / 2;
32     let y = rect.top + rect.height / 2;
33
34     await tapAtPoint(x, y);
35 }
36 </script>
37 </head>
38 <body onload="test()">
39 <div id=tapthis>PASS if no 'clicked' text is shown below.</div>
40 <div id=hiddenFirst></div>
41 <pre id=result></pre>
42 <script>
43 tapthis.addEventListener("mouseover", function( event ) {
44     // 1. Install a timer on hover
45     setTimeout(function() {
46         // 2. Trigger a non-forcing style change
47         hiddenFirst.style.visibility = "visible";
48         // 3. Install a timer for style recalc
49         setTimeout(function() {
50             document.body.offsetHeight;
51             if (window.testRunner)
52                 testRunner.notifyDone();
53         }, 10);
54     }, 0);
55 }, false);
56
57 hiddenFirst.addEventListener("click", function( event ) {   
58     result.innerHTML = "clicked";
59 }, false);
60
61 tapthis.addEventListener("click", function( event ) {   
62     result.innerHTML = "clicked";
63 }, false);
64 </script>
65 </body>
66 </html>