<html>
  <head>
    <script>
      if (window.internals) {
        internals.settings.setPreferCompositingToLCDTextEnabled(true);
      }
      function doTest() {
        if (window.testRunner) {
          document.getElementById("layertree").innerText = internals.layerTreeAsText(document);
          testRunner.dumpAsText();
        }
      }
      window.addEventListener("load", doTest, false);
    </script>
  </head>
<body>
  <!-- in force compositing mode the body should get its own graphics layer -->
  <pre id="layertree"></pre>
</body>
</html>
