d2e5b6cc0186fc858c7d3b356a39ce545c71b499
[WebKit-https.git] / LayoutTests / fast / events / touch / ios / content-observation / remove-subframe-while-observing.html
1 <html>
2 <head>
3 <title>This tests the case when visible content change happens on the main frame while the subframe is removed</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     display: none;
14     width: 100px;
15     height: 100px;
16     background-color: green;
17 }
18 </style>
19 <script>
20 async 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 <iframe id=removeThis src=subframe.html></iframe>
41 <pre id=result></pre>
42 <script>
43 tapthis.addEventListener("mousemove", function( event ) {
44     becomesVisible.style.display = "block";
45     document.body.offsetHeight;
46
47     let iframeToRemove = document.getElementById("removeThis");
48     if (iframeToRemove)
49         iframeToRemove.remove();
50     if (window.testRunner)
51         setTimeout("testRunner.notifyDone()", 250);
52 }, false);
53
54 becomesVisible.addEventListener("click", function( event ) {   
55     result.innerHTML = "clicked hidden";
56 }, false);
57
58 tapthis.addEventListener("click", function( event ) {   
59     result.innerHTML = "clicked";
60 }, false);
61 </script>
62 </body>
63 </html>