<html>
<head>
    <script type="text/javascript">
        if (window.testRunner && window.internals) {
            testRunner.waitUntilDone();
            internals.settings.setFrameFlattening("FullyEnabled")
        }

        function test()
        {
            setTimeout(function() {
                if (window.testRunner)
                    testRunner.notifyDone();
            }, 0);
        }
    </script>
</head>
<frameset border=0 rows="300,*" cols="200,*">
    <frame onload="test()" src="data:text/html,
        <style>body { background-color: green; }</style>
        <p>
            Test for frameset flattening. The flattening only works inside the DRT.
        </p>
        <p>
            This frame should be a square of side 300px and not be scrollable (have scrollbars).
        </p>
        <div style='position: absolute; width: 300px; height: 1px; left: 0; top: 100px;'></div>
    ">
    <frame>
</frameset>
</html>
