<head>
<script src="../../../../resources/js-test-pre.js"></script>
</head>
<body onload="runTest()">
<p id="description"></p>
<div id="console"></div>
<script>

function createTestPlugin(testName)
{
    var plugin = document.createElement("embed");
    plugin.type = "application/x-webkit-test-netscape";
    plugin.setAttribute('test', testName);

    return plugin;
}

function runTest() 
{
    if (!window.testRunner) {
        debug("This test can only run from within DumpRenderTree because it requires TestNetscapePlugin.\n");
        return;
    }

    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    testRunner.overridePreference("WebKit2AsynchronousPluginInitializationEnabled", "1");
    testRunner.overridePreference("WebKit2AsynchronousPluginInitializationEnabledForAllPlugins", "1");

    // Grab the time before we create and append 20 slow plug-ins.
    sessionStorage.beforeDate = (new Date).valueOf();
    
    var plugins = new Array();
    for (var i = 0; i < 20; ++i)
        plugins[i] = createTestPlugin('slow-npp-new');
    for (var i = 0; i < 20; ++i)
        document.body.appendChild(plugins[i]);

    // Try to force a layout so the plug-ins instantiate
    var foo = document.body.offsetTop;
    
    setTimeout("location.href = 'resources/asynchronous-plugin-initialization-multiple-finish.html'", 0);
}

description("Tests that loading multiple slow initializing plug-ins and then navigating only has to wait for one of them to finish being destroyed.");

</script>
