<!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 = "";
            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 -->

<!-- Start with a red image -->
<div id="background" class="composited">Text</div>
</body>
</html>
