blob: 87f5fb6619dd551a5b0a833baf1e3967ae4aff07 [file] [log] [blame]
<script src="../../resources/js-test-pre.js"></script>
</head>
<script>
var subframe;
var testObject;
function runTest() {
subframe = document.getElementById('subframe');
subframe.contentWindow.document.documentElement.innerHTML = '<embed id="plugin" type="application/x-webkit-test-netscape" test="npruntime-object-from-destroyed-plugin"></embed>';
var plugin = subframe.contentWindow.document.getElementById('plugin');
// Get a reference to the plug-in test object.
testObject = plugin.testObject;
plugin.evaluate('window.top.subframe.parentNode.removeChild(window.top.subframe)')
// testObject is now a dangling object and every operation on it should throw.
shouldThrow('testObject.gettingProperty');
shouldThrow('testObject.settingProperty = 10');
shouldThrow('testObject()');
shouldThrow('new testObject();')
}
</script>
<body onLoad="runTest()">
<p id="description"></p>
<iframe id="subframe"></iframe>
<div id="console"></div>
<script>
description("Test various operation on an NPObject whose plug-in (that lives in a subframe) has been destroyed");
</script>