blob: 89e705daf8bb929ca8bb49371e3551051646f018 [file] [log] [blame]
<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>