| <html> |
| <head> |
| <script> |
| var logWin = window.parent.opener; |
| logWin.log('Initializing Iframe'); |
| |
| var notificationCenter = null; |
| function test() { |
| notificationCenter = window.webkitNotifications; |
| logWin.log("Before transfer: checkPermission returned (should be 1): " + notificationCenter.checkPermission()); |
| 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: checkPermission returned (should be 2): " + notificationCenter.checkPermission()); |
| } |
| window.finish = function() { |
| logWin.log("After transfer, the checkPermission 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> |