<!DOCTYPE html><!-- webkit-test-runner [ JavaScriptCanOpenWindowsAutomatically=true ] -->
<html>
<head>
</head>
<body>
    Test passes if WebKit doesn't crash.
    <script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    onload = function() {
        var t1 = window.open('target.html', '_blank');
        var data = t1.navigator.plugins[0];
        t1.close();
        setTimeout(function() {
            // Do not expect crashes.
            JSON.stringify(data);

            if (window.testRunner)
                testRunner.notifyDone();
        }, 200);
    }
    </script>
</body>
</html>
