<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script>

if (window.testRunner)
    testRunner.dumpAsText();

window.onload = function() { 
    if (self.containing_frame.document.getElementById('plugin').destroyStream)
        testPassed("containing frame was able to instantiate plugin");
    else
        testFailed("containing frame was unable to instantiate plugin");

    isSuccessfullyParsed();
} 

</script>
</head>
<body>
    <iframe name="containing_frame"
        src="resources/sandboxed-iframe-about-blank.html">
    </iframe>

    <p id="description"></p>

    <div id="console"></div>

    <script>
    description("This test verifies that sandboxing 'about:blank' does not make the containing frame sandboxed.");
    </script>
</body>
</html>
