<html>
<head>
    <script type="text/javascript">
        if (window.testRunner && window.internals) {
            testRunner.waitUntilDone();
            testRunner.dumpAsText();
            internals.settings.setFrameFlatteningEnabled(true);
        }
    </script>
    <style>body { background-color: green; }</style>
</head>
<body>
    <div>
        <p>This test verifies that nested iframes do not cause assertion failure, when 3 level nesting is applied with blocking resource at the bottommost iframe. PASS if no assert in debug.</p>
    </div>
    <iframe src='./resources/nested-iframe-loading-another-iframe.html'></iframe>
</body>
</html>
