File: iframe-reparenting-close-window-iframe.html

package info (click to toggle)
qtwebkit 2.3.4.dfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 290,116 kB
  • ctags: 272,544
  • sloc: cpp: 1,417,496; python: 85,048; ansic: 39,353; perl: 38,858; ruby: 10,313; objc: 9,505; xml: 8,679; asm: 3,864; yacc: 2,458; sh: 1,237; lex: 813; makefile: 592; java: 228; php: 79
file content (26 lines) | stat: -rwxr-xr-x 942 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<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>