<html>
<body>
<embed name="plg" type="application/x-webkit-test-netscape"></embed>
<script>
var NPERR_GENERIC_ERROR = 1;

function callback(result) {
    var d = document.getElementById('result');

    if (result == NPERR_GENERIC_ERROR)
        d.innerHTML = "SUCCESS"
    else
        d.innerHTML = "FAILED - Expected error code 1 but got error code " + result

    testRunner.notifyDone();
}

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    testRunner.preventPopupWindows();
    
    plg.getURLNotify("http://www.apple.com", "_blank", "callback");
} else {
    document.write("Cannot run interactively");
}
</script>This tests that we won't crash when a plugin tries to open an URL in a new window when the application does not create the window. If this test is successful, the word SUCCESS should be seen below.
<div id="result">FAILED</div>
</body>
</html>
