<head>
<script src="../../../resources/js-test-pre.js"></script>
<script>
if (window.testRunner) {
    testRunner.overridePreference("WebKit2AsynchronousPluginInitializationEnabled", "1");
    testRunner.overridePreference("WebKit2AsynchronousPluginInitializationEnabledForAllPlugins", "1");
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

window.removePluginElement = function()
{
    if (!window.testRunner) {
        debug("This test can only run from within DumpRenderTree because it requires TestNetscapePlugin.\n");
        return;
    }
	
	var element = document.getElementById("TestElement");
	document.body.removeChild(element);

    testPassed("Didn't crash yet.");

    setTimeout("finishTest();", 0);
}

function finishTest()
{
    testPassed("Still didn't crash yet.");

    if (window.testRunner)
		testRunner.notifyDone();
}

</script>

</head>
<body>
<embed id="TestElement" type="application/x-webkit-test-netscape" test="invoke-destroys-plugin-within-npp-new"></embed>
<p id="description"></p>
<div id="console"></div>
</body>

<script>
description("Tests that removing a plug-in element during its NPP_New via an NPN_Invoke resulting in its NPP_Destroy being called doesn't crash.");
</script>
