<html>
<head>
    <script type="text/javascript">
        function test()
        {
            if (window.internals)
                internals.settings.setFrameFlattening("FullyEnabled")
            // Force synchronous layout.
            document.body.offsetHeight;
        }
    </script>
</head>

<frameset border=0 rows="100,400" onload="test();">
    <frameset border=0 cols="300,300">
        <frame src="data:text/html,
            <style>body { background-color: green; }</style>
            <p>
                A frameset flattening test that only works inside the DRT.
            </p>
            <p>
                This frame is inside frameset 1 and should be at least 450px wide, 150px tall and not be scrollable.
            </p>
            <div style='position: absolute; width: 450px; height: 50px; left: 0; top: 0px;'></div>
        ">
        </frame>
        <frame src="data:text/html,
            <style>body { background-color: red; }</style>
            <p>
                This frame is inside frameset 1 and should be at least 450px wide, 150px tall and not be scrollable.
            </p>
            <div style='position: absolute; width: 450px; height: 150px; left: 0; top: 0px;'></div>
        ">
        </frame>
    </frameset>
    <frameset border=0 cols="300,300">
        <frame src="data:text/html,
            <style>body { background-color: yellow; }</style>
            <p>
                This frame is inside frameset 2 and should be at least 450px wide, 400px tall and not be scrollable.
            </p>
            <div style='position: absolute; width: 200px; height: 450px; left: 0; top: 0px;'></div>
        ">
        </frame>
        <frame src="data:text/html,
            <style>body { background-color: blue; }</style>
            <p>
                This frame is inside frameset 2 and should be at least 450px wide, 400px tall and not be scrollable.
            </p>
            <div style='position: absolute; width: 450px; height: 450px; left: 0; top: 0px;'></div>
        ">
        </frame>
    </frameset>
</frameset>
</html>
