<body>
Get a plugin array from an iframe, detach the iframe, and refresh plugins. We pass if we don't crash.
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

window.onload = function() {
    p = frames[0].navigator.plugins;
    document.body.removeChild(document.getElementById("i"));
    setTimeout(function() {
        p.refresh(true);
        testRunner.notifyDone();
    }, 0);
}
</script>
<iframe id="i" src="resources/failure.html"></iframe>
</body>
