<p>This tests that a dominant plugin should play automatically even if an image is on top of the plugin.</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();
    }, 1000);
}
</script>
<embed id="plugin" src="../resources/orange.mov" width="600" height="600"></embed>
<img src="../resources/apple.gif" width="600" height="600" style="position:absolute; top:60px; left:0px;">
