<p>This test ensures that quicktime plugins can also be snapshotted. 
We make the plugin here too small to be the primary plugin, thus it should get snapshotted.</p>
<div id="result">FAIL</div>
<script>
if (window.testRunner) {
    internals.settings.setPlugInSnapshottingEnabled(true);
    internals.settings.setMaximumPlugInSnapshotAttempts(0);
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
    setTimeout(function () {
        var result = document.getElementById("result");
        var embed = document.getElementById("plugin");
        if (internals.isPluginSnapshotted(embed))
            result.innerHTML = "PASS";
        testRunner.notifyDone();
    }, 500);
}
</script>
<embed id="plugin" src="../resources/orange.mov" width="300" height="300"></embed>
