1 <script> 2 var w; 3 function clear() { 4 w.clearTimeout(153); 5 } 6 7 function test() { 8 w = window.open("data:text/html,"+ 9 "<script>" + 10 "function navigate() { location.href='data:text/html,<body>Close this page and wait.</body>'};" + 11 "setTimeout(navigate,0);</" + 12 "script>"); 13 14 setInterval(clear, 0); 15 } 16 </script> 17 <body> 18 <p>This test reproduces the crash in DOMWindow::clearTimeout that happens when DOMWindow is disconnected from the Frame (as in back/forward cache expiration case tested here). 19 <p>This is the link to the bug: <a href="https://bugs.webkit.org/show_bug.cgi?id=29832">https://bugs.webkit.org/show_bug.cgi?id=29832</a> 20 <p>To reproduce the crash, click the link below, the popup window opens, which will immediately navigate to another one, so the b/f cache entry will be created. Close the popup window. Wait a few seconds (~10), for the page cache to start deleting pages it doesn't need - crash will happen.<br><a href="javascript:test()">Crash me!</a> 21