chromium/third_party/blink/manual_tests/iframe_notifications/iframe-reparenting-close-window-iframe.html

<html>
<head>
<script>
var logWin = window.parent.opener;
logWin.log('Initializing Iframe');

function test() {
  logWin.log("Before transfer: permission returned (should be denied): " + Notification.permission);
  setTimeout("window.parent.transferIframe();", 5000); // Wait long enough for Chrome popup blocker to release the window so it can actually close.
}

function testAfterClose()
{
  logWin.log("After transfer: permission returned (should be granted): " + Notification.permission);
}
window.finish = function() {
  logWin.log("After transfer, the permission call is accessing a destroyed object and can return invalid value or crash, depending on circumstances.");
  setInterval(testAfterClose, 1000); // Do it several times in a row, it'll crash after 1-3 times
}
</script>
</head>
<body onload=test()>
</body>
</html>