<html>
<head>
    <script type="text/javascript">
        function test()
        {
            if (window.internals)
                internals.settings.setFrameFlattening("FullyEnabled")
            // 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="20%" 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>
    ">
</body>
</html>
