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

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.dumpChildFrames();
}

window.onload = function() { 
    isSuccessfullyParsed();
} 

</script>
</head>
<body>
    <p id="description"></p>

    <p>Most of the PASS messages appear in frames, presented by DumpRenderTree after the main window.</p>

    <iframe sandbox="allow-scripts" src="resources/sandboxed-iframe-storage-disallowed.html">
    </iframe>

    <iframe src="resources/sandboxed-iframe-storage-allowed.html">
    </iframe>

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

    <script>
    description("This test verifies that a sandboxed iframe does not have access to any session storage, local storage or database.");
    </script>
</body>
</html>
