blob: 69259e3d478ff4beea881848b8315ebcd06ba854 [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");
var beforeDate = new Date;
plugin = createTestPlugin('slow-npp-new');
document.body.appendChild(plugin);
// Try to force a layout so the plug-in instantiates
var foo = document.body.offsetTop;
var afterDate = new Date;
if (afterDate - beforeDate > 500)
testFailed("Appending plug-in element took over 500ms (" + (afterDate - beforeDate) + "ms) so the plug-in was probably being initialized synchronously");
else
testPassed("Appending plug-in element took under 500ms, plug-in initializing asynchronously.");
testRunner.notifyDone();
}
description("Test that loading a slow loading plug-in (550ms second sleep in NPP_new) doesn't block the WebProcess");
</script>