| <head> | |
| <script src="../../../fast/js/resources/js-test-pre.js"></script> | |
| <script> | |
| var startTime = new Date; | |
| if (window.testRunner) { | |
| testRunner.overridePreference("WebKit2AsynchronousPluginInitializationEnabled", "1"); | |
| testRunner.overridePreference("WebKit2AsynchronousPluginInitializationEnabledForAllPlugins", "1"); | |
| testRunner.dumpAsText(); | |
| testRunner.waitUntilDone(); | |
| } | |
| function runTest() | |
| { | |
| if (!window.testRunner) { | |
| debug("This test can only run from within DumpRenderTree because it requires test runner internals.\n"); | |
| return; | |
| } | |
| var pluginElement = document.getElementById("TestElement"); | |
| var testProperty = pluginElement.fooBar; | |
| if (testProperty) | |
| testFailed("testProperty should not have returned anything, but it returned " + testProperty); | |
| var endTime = new Date; | |
| if (endTime - startTime > 549) | |
| testFailed("This test took over 549ms meaning the plug-in with a 550ms startup delay was actually initialized. It never should've been initialized."); | |
| else | |
| testPassed("Accessing the property took less than 550ms, meaning the plug-in had not finished initializing after our call to the plug-in script object returned."); | |
| testRunner.notifyDone(); | |
| } | |
| </script> | |
| </head> | |
| <body onload="setTimeout('runTest()', 0)"> | |
| <embed id="TestElement" type="application/x-webkit-test-netscape" test="slow-npp-new"></embed> | |
| <p id="description"></p> | |
| <div id="console"></div> | |
| </body> | |
| <script> | |
| description("Tests that accessing the script object of a plug-in that hasn't been initialized fails instead of waiting for initialization to finish."); | |
| var unused = document.body.offsetTop; | |
| </script> |