<html>
<head>
    <script type="text/javascript">
        function test()
        {
            if (window.internals)
                internals.settings.setFrameFlatteningEnabled(true);
            // Force synchronous layout.
            document.body.offsetHeight;
        }
    </script>
</head>
<body onload="test()">
    <style>body { background-color: green; }</style>
    <p>Test for iframe flattening. The flattening only works inside the DRT.
    <p>This inner frame should be 400px in each direction, disregarding the
       border, and it must not be scrollable or have scrollbars.

    <p><iframe width="200px" height="20%" scrolling=auto src="data:text/html,
        <style>body { background-color: red; }</style>
        <body>
            <div style='position: absolute; width: 400px; height: 400px; left: 0; top: 0px;'></div>
        </body>
        "></iframe>
</body>
</html>
