<!DOCTYPE>
<html>
<head>
<style type="text/css" media="screen">
    #background {
        width: 200px;
        height: 200px;
        display: block;
        background-color: green;
    }

    .composited {
        -webkit-transform: translateZ(0);
    }
</style>
<script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText(true);
    }
    function doTest()
    {
        var bg = document.getElementById("background");

        window.setTimeout(function() {
            // Change the layer to become background only.
            bg.innerHTML = "text";
            if (window.testRunner) {
                window.setTimeout(function() {
                    testRunner.notifyDone();
                }, 0);
            }
        }, 0);
    }

    window.addEventListener('load', doTest, false);
</script>
</head>
<body>
<!-- When the test is done, there should only be a green square on the page -->
<div id="background" class="composited"></div>
</body>
</html>
