| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| "http://www.w3.org/TR/html4/strict.dtd"> |
| <html lang="en"> |
| <head> |
| <script type="text/javascript"> |
| var inner_win; |
| |
| function open_inner() |
| { |
| var src = 'data:text/html,<title>Pop up</title><input type="button" value="Close" onclick="opener.closeChild()">'; |
| var tp = document.getElementById("theparent"); |
| inner_win = window.open(src, 'inner', 'width=200, height=200, left=' + (screenLeft + tp.offsetLeft) + ', top=' + (screenTop + outerHeight - innerHeight + tp.offsetTop)); |
| } |
| |
| function removeHoverNode() |
| { |
| var tp = document.getElementById("theparent"); |
| tp.parentNode.removeChild(tp); |
| setTimeout(reportSuccess, 500); |
| } |
| |
| function reportSuccess() |
| { |
| document.body.appendChild(document.createTextNode("SUCCESS")); |
| } |
| |
| function closeChild() |
| { |
| inner_win.close(); |
| document.body.offsetTop; |
| setTimeout(removeHoverNode, 100); |
| } |
| </script> |
| </head> |
| <body> |
| <p><b>BUG ID:</b> <a href="rdar://problem/5095977">5095997</a> (<a href="http://bugs.webkit.org/show_bug.cgi?id=13218">13218</a>) Reproducible crash after call to window.close()</p> |
| |
| <p id="test" style="background-color:skyblue; padding:3px;"><b>STEPS TO TEST:</b><br> |
| 1. Click the Open button below. A pop up window will open.<br> |
| 2. In the pop up window, click the Close button, being careful not to |
| move the mouse during and shortly after clicking. |
| </p> |
| |
| <p id="success" style="background-color:palegreen; padding:3px;"><b>TEST PASS:</b> |
| The black square will be replaced by the word “SUCCESS” and Safari will not crash. |
| </p> |
| |
| <p id="failure" style="background-color:#FF3300; padding:3px;"><b>TEST FAIL:</b> |
| Safari will crash (the word “SUCCESS” may appear before the crash). |
| </p> |
| <div id='theparent'> |
| <input type="button" value="Open" onclick="open_inner()"> |
| <div style="background: black; width: 200px; height:200px"> |
| </div> |
| </div> |
| </body> |
| </html> |