<html>
<script>

if (window.layoutTestController)
        layoutTestController.dumpAsText();

var plugins = new Array;
for (var i = 0; i < navigator.plugins.length; ++i) {
    plugins.push(navigator.plugins[i]);
}

var mimeTypes = new Array;
for (var i = 0; i < navigator.mimeTypes.length; ++i) {
    mimeTypes.push(navigator.mimeTypes[i]);
}

navigator.plugins.refresh();

var output = "<pre>";

for (var i = 0; i < plugins.length; ++i) {
    output += plugins[i].name;
    output += "\n";
}

for (var i = 0; i < mimeTypes.length; ++i) {
    output += mimeTypes[i].type;
    output += "\n";
}

output += "</pre>";

//document.writeln(output);
document.writeln("Tests access to previously received arrays from navigator.plugins and mimetypes after calling plugins.refresh(). If this text appears and there is no crash, then the test succeeded.");

</script>
<body>
</body></html>
