<html>
	<style>
		#composited {
			width: 1800px;
			height: 10px;
			transform: translateZ(0);
			background-color: blue;
		}
	</style>
    <script>
        function startTest() {
            if (window.testRunner) {
                testRunner.waitUntilDone();
                testRunner.dumpAsText();
                testRunner.setBackingScaleFactor(2, finishTest);
            }
        }
        
        function finishTest() {
            setTimeout(function() {
				document.getElementById('layer-tree').innerText = window.internals.layerTreeAsText(document);
				testRunner.notifyDone();
			}, 0);
        }
        </script>
    </head>
    <body onload="startTest();">
        <div id="composited"></div>
<pre id="layer-tree">Layer tree goes here in DRT</pre>
    </body>
</html>
