blob: 4904469e7a17c60eafc3a06647adb9b1a4948664 [file] [log] [blame]
<html>
<head>
<script src="npapi.js"></script>
<script>
function setTestObject(object) {
window.testObject = object;
setTimeout("deleteTestObject()", 0);
var statusPanel = document.getElementById("statusPanel");
statusPanel.innerText = "Received test object...";
}
function deleteTestObject() {
window.testObject = null;
var statusPanel = document.getElementById("statusPanel");
statusPanel.innerText = "Deleted test object...";
gc();
}
function deletePlugin() {
var statusPanel = document.getElementById("statusPanel");
statusPanel.innerText = "Deleting plugin...";
var plugin = document.getElementById("delete_plugin_in_deallocate_test");
if (plugin.parentNode && plugin.parentNode.removeChild) {
plugin.parentNode.removeChild(plugin);
}
}
</script>
</head>
<body>
<div id="statusPanel" style="border: 1px solid red; width: 100%">
Test running....
</div>
NPObject Delete in Deallocate<p>
Tests the case where deallocation of an NPObject belonging to the plugin
triggers scripting which causes the whole plugin to be torn down, and verifies
that the object being deallocated is not deallocated a second time.
<embed type="application/vnd.npapi-test"
src="foo"
name="delete_plugin_in_deallocate_test"
id="signaller"
mode="np_embed">
<embed type="application/vnd.npapi-test"
src="foo"
name="delete_plugin_in_deallocate_test"
id="delete_plugin_in_deallocate_test"
mode="np_embed">
</body>
</html>