<body style="background-color: green;">
    <!-- This test should not assert in WebKit2, nor should it show flashing if you load it manually. -->
    <div id="target"></div>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }
        
        var count = 0;
        var intervalID = window.setInterval(function() {
            var target = document.getElementById("target");
            target.style.willChange = "transform";
            document.body.offsetTop;
            target.style.removeProperty("willChange");
            
            if (++count == 10) {
              window.clearInterval(intervalID);
              if (window.testRunner)
                testRunner.notifyDone();
            }
        }, 100);
    </script>
</body>
