1<html>
2<head>
3<title>This tests the case when visible content change happens after touchend but before mouseMoved.</title>
4<script src="../../../../../resources/basic-gestures.js"></script>
5<style>
6#tapthis {
7 width: 400px;
8 height: 400px;
9 border: 1px solid green;
10}
11
12#becomesVisible {
13 visibility: hidden;
14 width: 100px;
15 height: 100px;
16 background-color: green;
17}
18</style>
19<script>
20async function test() {
21 if (!window.testRunner || !testRunner.runUIScript)
22 return;
23 if (window.internals)
24 internals.settings.setContentChangeObserverEnabled(true);
25
26 testRunner.waitUntilDone();
27 testRunner.dumpAsText();
28
29 let rect = tapthis.getBoundingClientRect();
30 let x = rect.left + rect.width / 2;
31 let y = rect.top + rect.height / 2;
32
33 await tapAtPoint(x, y);
34}
35</script>
36</head>
37<body onload="test()">
38<div id=tapthis>PASS if 'clicked' text is not shown below.</div>
39<div id=becomesVisible></div>
40<pre id=result></pre>
41<script>
42tapthis.addEventListener("touchend", function( event ) {
43 setTimeout(function() {
44 becomesVisible.style.visibility = "visible";
45 if (window.testRunner)
46 testRunner.notifyDone();
47 }, 0);
48}, false);
49
50becomesVisible.addEventListener("click", function( event ) {
51 result.innerHTML = "clicked hidden";
52}, false);
53
54tapthis.addEventListener("click", function( event ) {
55 result.innerHTML = "clicked";
56}, false);
57</script>
58</body>
59</html>