blob: 5e9adb07d935cde5a2c4fc053182913160db7972 [file] [log] [blame]
<!DOCTYPE html>
<html><head>
<title> scheduler: event listener defined by script in a removed IFRAME</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe src="about:blank"></iframe>
<script>
log('inline script #1');
function fireFooEvent(){
var evt=document.createEvent('Event');
evt.initEvent('foo', true, true);
document.dispatchEvent(evt);
}
var doc=frames[0].document;
doc.open( 'text/html' );
doc.write( '<script>top.log("IFRAME script");top.document.addEventListener("foo", function(e){ top.log("event: "+e.type); }, false)<\/script>' );
log('end script #1');
</script>
<script>
fireFooEvent();
frames[0].frameElement.parentNode.removeChild( frames[0].frameElement ); // removing the IFRAME should de-activate document that defined event listener..?
</script>
<script>
fireFooEvent();
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1',
'IFRAME script',
'end script #1',
'event: foo',
'inline script #2'
]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>